一、安裝環境
win10 64位
hadoop3.1.2
jdk1.8
二、安裝JDK1.8
這裏不再贅述
三、安裝hadoop
3.1官網下載hadoop
https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz
注意:之前下載的是hadoop-3.2.1.tar.gz最高版本,但是一直報posix錯誤,可能是因爲winutils的版本對應有問題,所以切換成了hadoop-3.1.2版本。
3.2解壓,配置環境變量
將hadoop-3.1.2.tar.gz copy到要安裝的目錄,CMD進入目錄, 輸入
start winrar x -y hadoop-3.1.2.tar.gz
執行解壓。這裏如果直接解壓的話,會報路徑過長錯誤。
將解壓目錄添加環境變量中,如下圖,這裏是直接在解壓在F盤目錄下:
添加系統變量,並在PATH添加路徑:
在jdk和hadoop環境配置好後,在命令行窗口上分別執行:
java -version
能得到java版本輸出,說明配置成功
hadoop version
能得到hadoop版本輸出,說明配置成功
3.3 修改配置文件
需要修改的文件在解壓後的目錄下,hadoop-3.1.2\etc\hadoop\
用記事本打開hadoop-env.cmd文件,找到**set JAVA_HOME=%JAVA_HOME%**一行,將其值修改爲jdk所在目錄,如果目錄帶有空格,可以通過下面兩種方式處理:這裏以安裝目錄爲C:\Program Files\Java\jdk1.8.0_181爲例,因爲Program Files中存在空格,若是直接使用會出現錯誤,可以下面兩種方式之一進行處理:
只需要用PROGRA~1 代替Program Files,即改爲C:\PROGRA~1\Java\jdk1.8.0_18
或是使用雙引號改爲 “C:\Program Files”\Java\jdk1.8.0_181
在core-site.xml 文件中添加:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9001</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.hahoop.mapred.ShuffleHandler</value>
</property>
</configuration>
4.在解壓的根目錄下創建data文件夾,並在data下創建namenode和datanod兩個子文件夾;
在hdfs-site.xml文件添加:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/C:/ProgramFiles/ApacheSoftwareFoundation/hadoop-3.1.2/workspace/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/C:/ProgramFiles/ApacheSoftwareFoundation/hadoop-3.1.2/workspace/datanode</value>
</property>
</configuration>
3.4 替換bin目錄下的文件
下載的Hadoop不支持Windows系統,需要替換bin目錄下的文件方便在Windows上運行。這也是掉坑來的地方了!!!!
在網上下載到的hadooponwindows-master.zip 以及winutils中應該是隻適合hadoop 3.0.0及其以下,嘗試過hadooponwindows-master.zip以及winutils中最高的版本3.0.0,啓動hadoop都會出現下面的錯誤:Error starting NodeManager、UnsatisfiedError
折騰了好久(低版本的hadoop還沒下載完畢),終於找到3.1.0版本winutils,下載後直接替換掉hadoop目錄下bin文件即可:
https://github.com/zyj108/apache-hadoop-3.1.0-winutils
重新啓動
start-all.cmd
可以看到resourcemanager.ResourceManager: Error starting ResourceManager啓動失敗的日誌,報了類TimelineCollectorManager找不到的錯誤,
解決方法: HADOOP_HOME\share\hadoop\yarn\timelineservice 將這個文件夾下的hadoop-yarn-server-timelineservice-3.1.1.jar 包 複製到這個路徑下 HADOOP_HOME\share\hadoop\yarn 即可解決。
3.5 執行start-all.cmd
會自動開啓四個新的命令行窗口,窗口沒打印異常即啓動成功,再執行命令:
jps
可以看到DataNode、NameNode、NodeManager、ResourceManager正常啓動。
3.6 訪問管理GUI
啓動成功後,可以訪問GUI頁面
http://localhost:8088/
http://localhost:9870/
參考資料
https://blog.csdn.net/qq_33398459/article/details/86687379
https://blog.csdn.net/qq_24125575/article/details/76186309
https://blog.csdn.net/houwanle/article/details/81773832