版本信息
- Hadoop 3.2.0
- java version "1.8.0_201"
- Windows 7專業版,64位
安裝過程
jdk安裝
下載jdk,解壓到目錄,D:\Java\jdk1.8.0_201
環境變量設置
JAVA_HOME=D:\Java\jdk1.8.0_201
Path增加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
注意:java安裝路徑中不要存在空格,否則后續hadoop啟動時可能會出現問題,具體參考以下博客:
Windows環境下執行hadoop命令出現Error: JAVA_HOME is incorrectly set
hadoop安裝
下載hadoop,解壓到目錄,D:\BigData\hadoop\hadoop-3.2.0
環境變量設置
HADOOP_HOME=D:\BigData\hadoop\hadoop-3.2.0
Path增加:%HADOOP_HOME%\bin;%HADOOP_HOME%\sbin;
下載hadoop的windows版本二進制文件
下載地址:
目前提供了最高3.0.0版本的二進制文件
3.1.0版本的二進制文件
本文使用的是hadoop3.2.0版本,用的是3.1.0的二進制文件,也能正常運行,但如果用的是3.0.0版本的二進制文件,啟動yarn時會報錯。下載完成后,用整個bin目錄,替換本地hadoop3.2.0中的bin目錄
修改配置文件(位於目錄,D:\BigData\hadoop\hadoop-3.2.0\etc\hadoop)
hadoop-env.cmd
文件后面增加以下配置
set HADOOP_PREFIX=%HADOOP_HOME%
set HADOOP_CONF_DIR=%HADOOP_PREFIX%\etc\hadoop
set YARN_CONF_DIR=%HADOOP_CONF_DIR%
set PATH=%PATH%;%HADOOP_PREFIX%\bin
set HADOOP_COMMON_HOME=%HADOOP_HOME%
set HADOOP_HDFS_HOME=%HADOOP_HOME%
set HADOOP_MAPRED_HOME=%HADOOP_HOME%
set HADOOP_YARN_HOME=%HADOOP_HOME%
hdfs-site.xml
<configuration>
<!-- 指定HDFS副本的數量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<!--目錄需要先建立好-->
<value>/D:/BigData/hadoop/workspace/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<!--目錄需要先建立好-->
<value>/D:/BigData/hadoop/workspace/hdfs/data</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.application.classpath</name>
<value>%HADOOP_CONF_DIR%,%HADOOP_COMMON_HOME%/share/hadoop/common/*,%HADOOP_COMMON_HOME%/share/hadoop/common/lib/*,%HADOOP_HDFS_HOME%/share/hadoop/hdfs/*,%HADOOP_HDFS_HOME%/share/hadoop/hdfs/lib/*,%HADOOP_MAPRED_HOME%/share/hadoop/mapreduce/*,%HADOOP_MAPRED_HOME%/share/hadoop/mapreduce/lib/*,%HADOOP_YARN_HOME%/share/hadoop/yarn/*,%HADOOP_YARN_HOME%/share/hadoop/yarn/lib/*</value>
</property>
</configuration>
core-site.xml
<configuration>
<!--指定fs的缺省名稱-->
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<!--指定HDFS的(NameNode)的缺省路徑地址,localhost:是計算機名,也可以是ip地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<!-- 指定hadoop運行時產生文件的存儲目錄(以個人為准) -->
<property>
<name>hadoop.tmp.dir</name>
<value>/D:/BigData/hadoop/workspace/tmp</value>
</property>
</configuration>
解決yarn啟動報錯:通過報錯發現缺少TimelineCollectorManager這個類
參考博客:hadoop安裝配置之ResourceManger啟動失敗
將jar包,D:\BigData\hadoop\hadoop-3.2.0\share\hadoop\yarn\timelineservice\hadoop-yarn-server-timelineservice-3.2.0.jar,拷貝到D:\BigData\hadoop\hadoop-3.2.0\share\hadoop\yarn\lib目錄下面
啟動hadoop
格式化namenode(第一次啟動前執行,只執行一次):hdfs namenode -format
啟動hdfs:start-dfs.cmd
啟動yarn:start-yarn.cmd
jps查看以下進程是否存在:NameNode、DataNode、ResourceManager、NodeManager
瀏覽器訪問:http://localhost:9870/、 http://localhost:8088/cluster