Windwos安装Hadoop 并在IDEA中利用Maven实现HDFS API操作

这篇具有很好参考价值的文章主要介绍了Windwos安装Hadoop 并在IDEA中利用Maven实现HDFS API操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本次hadoop的安装系统为Windows10、Hadoop版本为3.3.6、Maven版本为3.9.4、Java版本为17.0.2。本教程基于前篇教程Hadoop集群、Java安装均完成后的后续教程,如未完成安装请查看前置教程。Hadoop、java安装
#############################################################################################
此外,大数据系列教程还在持续的更新中(包括跑一些实例、安装数据库、spark、mapreduce、hive等),欢迎大家关注我

客户端环境准备

Hadoop下载与解压

  1. 下载Hadoop3.3.6版本(具体版本根据自身需求修改)并解压至非中文目录下
    本次选用3.3.6的版本。下载地址
    Apache Hadoop
    然后下载windows依赖包(依赖包支持版本应与Hadoop版本相匹配),并将依赖包解压至hadoop-3.3.6\bin目录下覆盖文件。
    winutils包含绝大多数Hadoop版本

环境变量配置

  1. 配置 HADOOP_HOME 环境变量
    环境变量的位置在计算机-属性-高级系统设置-环境变量
    maven支持的hadoop版本,Windows,大数据,hadoop,intellij-idea,maven,windows,apache
    根据新建HADOOP_HOME系统变量你的Hadoop目录来填写
    maven支持的hadoop版本,Windows,大数据,hadoop,intellij-idea,maven,windows,apache
    然后在用户变量选择Path点击编辑,新建以下变量
%HADOOP_HOME%\bin
%HADOOP_HOME%\sbin

maven支持的hadoop版本,Windows,大数据,hadoop,intellij-idea,maven,windows,apache
  验证Hadoop环境变量是否正常。双击hadoop-3.3.6\bin\winutils.exe,如果报如下错误。说明缺少微软运行库(正版系统往往有这个问题)。如果没有报错,而是黑色运行框一闪而过则代表运行正常。
  运行库程序安装地址微软运行库修复
maven支持的hadoop版本,Windows,大数据,hadoop,intellij-idea,maven,windows,apache

Maven的下载与配置

Maven的下载与安装

  1. Maven下载(本次使用版本为3.9.4版)
    官网下载地址
  2. 下载完成后将压缩包解压到不含中文路径的目录里
  3. 在maven的文件夹里新建一个repository用来存放仓库文件
    maven支持的hadoop版本,Windows,大数据,hadoop,intellij-idea,maven,windows,apache

Maven的配置

  1. 打开apache-maven-3.9.4\conf路径下的settings.xml文件
  2. 定位到以下内容
<!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
 -->
  1. 在其后面增加内容:(repository路径填写为你刚刚新建的repository的路径)
 <localRepository>repository路径</localRepository>

maven支持的hadoop版本,Windows,大数据,hadoop,intellij-idea,maven,windows,apache
4. 设置镜像源
5. 依旧在settings.xml文件
6. 注释掉源镜像,并添加阿里镜像

<mirror>        
 <id>nexus-aliyun</id>      
 <name>nexus-aliyun</name>    
 <url>http://maven.aliyun.com/nexus/content/groups/public</url>      
 <mirrorOf>central</mirrorOf>        
</mirror>
<!--    
   <mirror>
     <id>maven-default-http-blocker</id>
     <mirrorOf>external:http:*</mirrorOf>
     <name>Pseudo repository to mirror external repositories initially using HTTP.</name>
     <url>http://0.0.0.0/</url>
     <blocked>true</blocked>
   </mirror>
 -->

maven支持的hadoop版本,Windows,大数据,hadoop,intellij-idea,maven,windows,apache
7. 保存该文件

IDEA

在IDEA中修改Maven设置

  1. 按下Ctrl+Alt+S打开IDEA的设置界面
  2. 依次选择Build, Execution, Deployment——Build Tools——Maven
    maven支持的hadoop版本,Windows,大数据,hadoop,intellij-idea,maven,windows,apache
  3. 依次修改,并勾选Use settings from .mvn/maven.config
Maven home path:  Maven文件夹所在路径
User settings file:  settings.xml所在路径
Local repository:  repository所在路径

maven支持的hadoop版本,Windows,大数据,hadoop,intellij-idea,maven,windows,apache
修改完成后保存

在IDEA中创建Maven工程

  1. 打开IDEA,选择File-New-Project
    maven支持的hadoop版本,Windows,大数据,hadoop,intellij-idea,maven,windows,apache
  2. 选择Maven Archetype其中Archetype选择为maven-archetype-quickstart
    打开Advanced Settings可以设置更多,其他的选项根据自己的需求来(对应翻译如下图所示)。
    maven支持的hadoop版本,Windows,大数据,hadoop,intellij-idea,maven,windows,apache
  3. 导入相应的依赖坐标+日志添加,将下述内容粘贴到pom.xml</project>之前
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>3.3.6</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.30</version>
</dependency>
</dependencies>

注意hadoop-client的版本号根据你下载的版本修改,依赖包通过网络下载,下载速度与网速有关
4. 在项目的 src/main/resources目录下,新建一个文件,命名为“log4j.properties”,在文件中填入 (打印日志,级别)

log4j.rootLogger=INFO, stdout 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n 
log4j.appender.logfile=org.apache.log4j.FileAppender 
log4j.appender.logfile.File=target/spring.log 
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout 
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n 

maven支持的hadoop版本,Windows,大数据,hadoop,intellij-idea,maven,windows,apache
5. 创建包名:com.hadoop.hdfs (在java下)
8. 创建 HdfsClient
maven支持的hadoop版本,Windows,大数据,hadoop,intellij-idea,maven,windows,apache
9. HdfsClient 类中,输入

package com.hadoop.hdfs;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.junit.Test;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

public class HdfsClient {
    @Test
    public void testMkdirs() throws IOException, URISyntaxException, InterruptedException {
// 1 获取文件系统
        Configuration configuration = new Configuration();
//错误演示:没有设置用户,会报权限错误 FileSystem fs = FileSystem.get(newURI("hdfs://hadoop102:8020"), configuration);
        FileSystem fs = FileSystem.get(new URI("hdfs://hadoop01:8020"), configuration,"root");
        //hadoop01修改为namenode所在节点的地址
// 2 创建目录
        fs.mkdirs(new Path("/xiyou/huaguoshan/"));
// 3 关闭资源
        fs.close();
    }
}

若有下划波浪线表示需要抛出异常(alt+Enter)Ctrl+p提示函数的参数
10. 执行程序
  若程序可以正常运行,则在hdfs系统中会出现/xiyou/huaguoshan/文件夹。
客户端去操作 HDFS 时,是有一个用户身份的。默认情况下,HDFS 客户端 API 会从采
用 Windows 默认用户访问 HDFS,会报权限异常错误。所以在访问 HDFS 时,一定要配置用户。

org.apache.hadoop.security.AccessControlException: Permission denied: 
user=56576, access=WRITE, 
inode="/xiyou/huaguoshan":hadoop:supergroup:drwxr-xr-x 
  1. 程序改进:常用步骤进行封装
    (1)首先将准备工作封装到init中,如下:
public void init() throws URISyntaxException, IOException, InterruptedException {
        //连接的集群的nn地址
        URI uri = new URI("hdfs://hadoop102:8020");     //8020为hdfs内部通信端口
        //   URI uri = new URI("hdfs://hadoop102:8020")
        //创建一个配置文件
        Configuration conf = new Configuration();

        //用户
        String user = "hadoop";
        //获取到客户
        // 端对象
        fs = FileSystem.get(uri, conf,user);
    }

此处init中的fs若要在close()和testMkdirs()使用,必须定义为全局变量。选中fs按ctrl+alt+f会弹出定义形式,按enter键定义。

(2)将关闭资源的操作也进行封装,如下:

public void close() throws IOException {
        //3.关闭资源
        fs.close();
}

(3)原先的testMkdirs() 函数仅用于处理主逻辑即可:

public  void  testMkdirs() throws URISyntaxException, IOException, InterruptedException {
//2.创建一个文件夹
fs.mkdirs(new Path("/xiyou/huaguoshan1"));
}

(4)最后:要利用Junit测试,@Test指定要测试的代码,@Before指定执行测试代码前要执行的初始化代码,@After指定在指定代码执行之后要执行的操作。文章来源地址https://www.toymoban.com/news/detail-801009.html

到了这里,关于Windwos安装Hadoop 并在IDEA中利用Maven实现HDFS API操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hadoop系统应用之HDFS相关操作 - - Java-API对HDFS的操作(IDEA版)

    通过Java API来操作HDFS文件系统HDFS,相关的操作有:文件上传、文件下载、新建文件夹、查看文件、删除文件。 1.Linux下安装好hadoop,这里使用hadoop2.7.3 2.window解压hadoop2.7.3的包 2.Windows下安装好jdk1.8  3.Windows下安装好IDEA,这里使用IDEA2022 4.Windows下安装好maven,这里使用Maven3.6.3

    2024年02月05日
    浏览(51)
  • 如何安装Tomcat并在IDEA中配置

    1.如果你使用的是Spring框架的6版本请下载Tomcat10版本 Apache Tomcat® - Apache Tomcat 10 Software Downloads 2.如果你使用的是Spring框架的6以下请下载Tomcat9版本或以下都行, 如果不知道你使用的是什么推荐下载Tomcat9版本使用 Apache Tomcat® - Apache Tomcat 9 Software Downloads 点进去以后往下一翻就能

    2024年04月25日
    浏览(38)
  • IDEA配置Hadoop环境-非maven配置版(图文详细)

    1.1 下载hadoop包 官网地址:https://hadoop.apache.org/releases.html(官网一般都是最新的咯) 说明:版本不要下载太高的,可以下载 2.6.1到3.2.2的版本 ,有就不下了。 1.2 下载hadoop.dll和winutils.exe GitHub地址:https://gitcode.net/mirrors/cdarlint/winutils/-/tree/master 说明: 对应着你的hadoop版本下载 ,

    2024年02月02日
    浏览(54)
  • Maven(4)-利用intellij idea创建maven 多模块项目

    本文通过一个例子来介绍利用maven来构建一个多模块的jave项目。开发工具:intellij idea。 multi-module-project是主工程,里面包含两个模块(Module): web-app是应用层,用于界面展示,依赖于web-service参的服务。 web-service层是服务层,用于给app层提供服务。 新建一个空白标准maven

    2024年02月04日
    浏览(102)
  • Hadoop HDFS 安装详细步骤

    安装前 分别在 master、slave1、slave2 三台机器的 root 用户下的主目录下创建目录 bigdata,即执行下面的命令: mkdir ~/bigdata Hadoop 安装包下载 检查 Hadopp 和 java 版本是否对应,在官网中查 解压 hadoop 压缩安装包 tar zxvf hadoop-2.7.5.tar.gz 执行完后,在当前的目录下会出现一个名为 had

    2024年02月07日
    浏览(46)
  • 大数据技术之Hadoop:HDFS集群安装篇(三)

    目录 分布式文件系统HDFS安装篇 一、为什么海量数据需要分布式存储 二、 分布式的基础架构分析 三、 HDFS的基础架构 四 HDFS集群环境部署 4.1 下载安装包 4.2 集群规划 4.3 上传解压 4.4 配置HDFS集群 4.5 准备数据目录 4.6 分发hadoop到其他服务器 4.7 配置环境变量 4.8 为普通用户授

    2024年02月14日
    浏览(50)
  • 部署HDFS集群(完全分布式模式、hadoop用户控制集群、hadoop-3.3.4+安装包)

    目录 前置 一、上传解压 (一 )上传 (二)解压 二、修改配置文件 (一)配置workers文件 (二)配置hadoop-env.sh文件 (三)配置core-site.xml文件 (四)配置hdfs-site.xml文件 三、分发到hp2、hp3, 并设置环境变量 (一)准备数据目录    (二)配置环境变量 四、创建数据目录,并

    2024年04月14日
    浏览(56)
  • hadoop调用HDFS java api实现在HDFS上创建文件夹

    目录 一、前期准备 1、Hadoop集群已配置完毕 2、Linux系统安装jdk 3、安装并破解IntelliJ IDEA 二、通过JAVA API操纵HDFS 1.在IDEA中创建项目  2.在hdfs项目的src-main-java路径下创建一个包,然后在包下创建一个java类实现hdfs的文件操作  3.java类的代码 4.对JAVA程序传入参数后运行程序  5

    2024年02月08日
    浏览(72)
  • Hadoop的安装和使用,Windows使用shell命令简单操作HDFS

    目录 1,Hadoop简介 2,分布式文件系统HDFS 1. HDFS简介 2.HDFS体系结构 3,Hadoop的安装 1.使用WEB管理页面操作HDFS 2.使用命令操作HDFS  4,HDFS的基本使用方法 1)启动hadoop,为当前登录的Windows用户在HDFS中创建用户目录 2)在用户名user/zhangna下创建test目录 3)将windows操作系统本地的一个

    2024年02月04日
    浏览(50)
  • 利用qt实现机器人可视化界面,并在界面上控制机器人各个关节运动

     本工程借助于clion配置的qt环境,同时依赖eigen tinyxml2等开源库,也借鉴了博客上一些文章,具体哪些忘记了,十分抱歉。本工程仅供参考。机械臂模型为史陶比尔官网的TX2-60L-HB。可以去那下载对应的stp文件。 最终图:  通过鼠标中键控制旋转 缩放,配合ctrl进行平移。加载

    2024年02月11日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包