現在在window系統中安裝hadoop,不需要再安裝Cygwin等復雜的步驟,安裝部署比以前簡單了很多,以下是詳細步驟:
1:安裝JDK,設置好環境變量:
例如安裝JDK1.8.0_144,在環境變量中添加JAVA_HOME: D:\Application\Java\jdk1.8.0_144,然后在Path中添加路徑:
%JAVA_HOME%;%JAVA_HOME%\bin
2:下載Hadoop2.7.4 (https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.4/),並解壓到系統某個目錄,例如:D:\Application\hadoop-2.7.4
3:下載window util for hadoop (https://codeload.github.com/gvreddy1210/bin/zip/master,請注意需要與window系統的32位或64位一致),解壓后覆蓋到hadoop\bin目錄,(如果在測試中有問題,請將hadoop.dll拷貝到C:\\Window\system32目錄,本人在測試中沒有遇到問題,所以沒有拷貝),另外,此util與具體的hadoop版本是有關的,如果選用不同的hadoop版本,需要找到正確的util,目前hadoop並沒有提供window util,所以如果無法在網上找到合適的版本,那需要自己編譯 (附:window util 編譯的方法:Apache Hadoop 2.7.1 binary for Windows 64-bit platform)
4:添加環境變量 HADOOP_HOME:D:\Application\hadoop-2.7.4 ,並添加到Path路徑:%HADOOP_HOME%\bin
5:創建namenode及datanode目錄,用來保存數據,例如 D:\Application\hadoop-2.7.4\data\namenode, D:\Application\hadoop-2.7.4\data\datanode
6:hadoop 相關配置文件設置,涉及到4個主要的配置文件:core-site.xml, hdfs-site.xml, mapped-site.xml, yarn-site.xml
- core-site.xml:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
- hdfs-site.xml:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/D:/Application/hadoop-2.7.4/data/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/D:/Application/hadoop-2.7.4/data/datanode</value> </property> </configuration>
- mapped-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.scheduler.minimum-allocation-mb</name> <value>1024</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>4096</value> </property> <property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>2</value> </property> </configuration>
7:上面步驟完成設置后,就可以試着運行hadoop了
格式化namenode:進入到hadoop\bin目錄,執行命令:hadoop namenode -format
啟動或停止hadoop:進入到sbin目錄,執行命令:start-all.cmd 或者 stop-all.cmd
查看進程:在命令行執行jps,在我的系統中能看到起來了幾個進程,但沒有具體信息,這個和用戶權限有關
查看mapreduce job:localhost:8088
查看hdfs 文件系統:localhost:50070
8:測試hadoop自帶的wordcount
進入到hadoop\bin目錄,創建hdfs input文件夾,將本地文件上傳到hdfs
hdfs dfs -mkdir /input
hdfs dfs -put /D:/people.txt /input
然后可以開始運行wordcount了:
hadoop jar /D:\Application\hadoop-2.7.4\share\hadoop\mapreduce\hadoop-mapreduce-examples-2.7.4.jar wordcount input output
以下是運行過程的控制台的輸出及job 和 hdfs 的界面