目录
安装
下载
设置环境变量
配置
修改:hadoop-env.cmd
修改:core-sit.xml
修改:hdfs-site.xml
修改:mapred-site.xml
修改:yarn-site.xml
运行
格式化HDFS文件系统
启动:hadoop
启动:yarn
验证
安装
前置条件:需要安装JDK8(亲身经历,不要用21版本的jdk)
下载
地址:Apache Hadoop
我下载的是3.4.0最新版
下载后,解压到E盘,路径:E:\hadoop-3.4.0
设置环境变量
添加HADOOP_HOME变量
添加到path
配置
进到目录:E:\hadoop-3.4.0\etc\hadoop
修改:hadoop-env.cmd
set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_351
上述这样设置可能会出问题:Hadoop Error: JAVA_HOME is incorrectly set.
更改后:
set JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_351
PS:PROGRA~1是 Program Files 文件夹的dos文件名模式下的缩写 。
修改:core-sit.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
PS:此文件中已有<configuration>标签,可以直接覆盖掉
修改:hdfs-site.xml
配置namenode和datanode的存放位置,可以自定义
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///C:/hadoop_data/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///C:/hadoop_data/hdfs/datanode</value>
</property>
</configuration>
PS:此文件中已有<configuration>标签,可以直接覆盖掉
修改:mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
PS:此文件中已有<configuration>标签,可以直接覆盖掉
修改:yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
PS:此文件中已有<configuration>标签,可以直接覆盖掉
运行
格式化HDFS文件系统
hdfs namenode -format
会启动失败
报错:Could not locate executable null\bin\winutils.exe in the Hadoop binaries
原因:Windows下运行hadoop,需要添加插件【winutils.exe】
插件下载地址:GitHub - cdarlint/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windows
点进去某个版本,里面就有这个exe
下载下来,放到:E:\hadoop-3.4.0\bin目录下
启动:hadoop
进入目录:E:\hadoop-3.4.0\sbin
start-dfs.cmd
可能出现的问题
java.lang.UnsatisfiedLinkError: 'boolean org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(java.lang.String, int)'
原因:缺少hadoop.dll文件
解决:GitHub - cdarlint/winutils: winutils.exe hadoop.dll and hdfs.dll binaries for hadoop windows 在这里面找对应版本,然后就可以看到
下载后,放到E:\hadoop-3.4.0\bin目录下
启动:yarn
进入目录:E:\hadoop-3.4.0\sbin
start-yarn.cmd
可能出现的问题:Resourcemanager启动报错,我这边是因为使用了jdk21导致的,卸载后,使用jdk8就行了。
验证
都启动不报错后
输入:http://localhost:9870/,查看hadoop的控制台
输入:http://localhost:8088,查看资源管理
至此,hadoop 4.3已成功安装!