在window上安装hadoop3.3.4

暑假不知道啥原因电脑死机啦。环境需要重新配一下

首先需要配置Hadoop集群,但是为了代码调试方便需要先在Windows上配置Hadoop环境。

1.前期准备

首先在搭建Hadoop环境之前需要先安装JDK,并且配置好Java环境变量。
这里有个bug就是Java环境变量中不允许有空格,如 C:\Program Files\java\xxxxx , 后续步骤中在 hadoop-env.cmd 配置 JAVA_HOME 时,这种环境变量的是无法识别的,容易报 "Error JAVA_HOME is incorrectly set." 之类的错误

bash 复制代码
java version "1.8.0_381"
Hadoop 3.3.4

java8下载地址,需要注册oracle的账号登录
hadoop对应版本下载

2.安装hadoop

进入Hadoop官网下载压缩文件解压到指定目录, 解压后文件结构如下:

配置Hadoop环境变量

这里需要配置的环境变量是系统环境变量。主要需要配置的是HADOOP_HOME和Path。类似的,将bin所在路径添加到Path中。

3 修改配置文件

这里需要修改的配置文件有:

bash 复制代码
core-site.xml
hdfs-site.xml
yarn-site.xml
hadoop-env.cmd

core-site.xml

bash 复制代码
<!-- Put site-specific property overrides in this file. -->
 
<configuration>
	<property>
        <name>hadoop.tmp.dir</name>
        <value>file:/D:/work/soft/hadoop_temp/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

这个文件没有特别需要注意的地方,直接覆盖就行

hdfs-site.xml

这是Hadoop分布式文件系统的配置,主要是配置 namenode 和 datanode(执行start-all后生成的)的路径

bash 复制代码
<!-- Put site-specific property overrides in this file. -->
 
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
       <name>dfs.namenode.name.dir</name>
       <value>file:/D:/work/soft/hadoop-3.3.0/data/namenode</value>
    </property>
    <property>
       <name>dfs.datanode.data.dir</name>
       <value>file:/D:/work/soft/hadoop-3.3.0/data/datanode</value>
    </property>
<!-- 50700打不开请配置这个. -->
	<property>
        <name>dfs.http.address</name>
        <value>localhost:50070</value>
    </property>
</configuration>

下面两个value即配置了 namenode 和datanode的路径,配置成功后(执行第四步后),相关路径中会多一个data目录:

yarn-site.xml

bash 复制代码
<configuration>
 
    <!-- nodemanager要求的内存最低为1024 -->
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>1024</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>1</value>
    </property>
</configuration>

这里需要注意,nodemanager 要求的内存最低为1G,所以value至少是1024,否则无法启动nodemanager。

hadoop-env.cmd

@rem The java implementation to use. Required.

@rem set JAVA_HOME=%JAVA_HOME%

set JAVA_HOME=%JAVA_HOME%

@rem The jsvc implementation to use. Jsvc is required to run secure datanodes.

@rem set JSVC_HOME=%JSVC_HOME%

4 格式化HDFS系统

CMD切换到Hadoop的bin目录下,执行命令:

hdfs namenode -format

这里会报的错误:

1.File Not Found winutils.exe

复制代码
说明确实winutils.exe相关文件,下载地址https://github.com/4ttty/winutils,将winutils.exe放到hadoop的bin目录下即可。

2.hadoop:ExitCodeException exitCode=-1073741515

原因:

操作系统缺少 msvcr120.dll文件

下载微软常用命令集合,解压运行,将*。dll文件粘贴到C:\Windows\SysWOW64目录中。该处理为自己试过,问题已经解决:

格式化后,如果没有报什么错误,基本上算是搭建成功了

5 启动Hadoop

切换到Hadoop下sbin目录,执行 start-all 命令,

启动Hadoop,这时会启动namenode,、datanode、resourcemanager、nodemanager。切换到bin目录下执行jps命令,可以看到如下启动进程

使用管理员模式启动CMD,并执行上面命令可正常启动hadoop,下图

通过浏览器进入管理界面

http://localhost:50070/

http://localhost:8088/

6.集成到idea开发环境中

在pom.xml中添加hadoop的依赖

bash 复制代码
 <dependency>
      <groupId>org.netpreserve.commons</groupId>
      <artifactId>webarchive-commons</artifactId>
      <version>1.1.9</version>
      <exclusions>
        <exclusion>
         <groupId>org.apache.hadoop</groupId>
         <artifactId>hadoop-core</artifactId>
       </exclusion>
      </exclusions>
    </dependency>
    
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-client</artifactId>
      <version>3.3.4</version>
<!--      <scope>provided</scope>-->
    </dependency>
相关推荐
TTBIGDATA19 小时前
【Atlas】Atlas Hook 消费 Kafka 报错:GroupAuthorizationException
hadoop·分布式·kafka·ambari·hdp·linq·ranger
零一科技21 小时前
centos7安装hadoop3(上)
hadoop
Francek Chen1 天前
【大数据基础】实验1:熟悉常用的Linux操作和Hadoop操作
大数据·linux·hadoop·hdfs
零一科技1 天前
centos7安装hadoop3(下)
hadoop
B站计算机毕业设计超人1 天前
计算机毕业设计hadoop+spark+hive共享单车预测系统 共享单车数据可视化分析 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·python·深度学习·spark·毕业设计·课程设计
B站计算机毕业设计超人1 天前
计算机毕业设计Python+Spark+Hadoop+Hive微博舆情分析 微博情感分析可视化 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·爬虫·python·spark·cnn·课程设计
Amber勇闯数分1 天前
【Hive】基于物品协同过滤 [ ItemCF ] 推荐课程-余弦相似度计算
大数据·数据仓库·hive·hadoop·矩阵
努力有什么不好1 天前
SparkSQL如何查询外部hive数据
数据仓库·hive·hadoop
yumgpkpm1 天前
华为昇腾300T A2训练、微调Qwen过程,带保姆式命令,麒麟操作系统+鲲鹏CPU
hive·hadoop·华为·flink·spark·kafka·hbase
努力有什么不好1 天前
Hadoop3.2.2伪分布式搭建
大数据·hadoop·分布式