windows部署hadoop-2.7.0
這裡使用自己編譯的hadoop-2.7.0版本部署在windows上,記得幾年前,部署hadoop需要藉助於cygwin,還需要開啟ssh服務,最近發現,原來不需要藉助cygwin,也無需開啟ssh免密登入這些類linux的複雜流程。直接就可以sbin/start-all.cmd,開啟了四個服務。
第一步、準備hadoop-2.7.0,其實就是自己編譯,這裡不介紹,可以直接在網上找已經編譯好的windows版本。這裡將我自己編譯的放在github上。編譯過的hadoop與一般下載的hadoop的區別在於bin目錄,如果是windows,那麼會有很多dll,lib等檔案。主要的還是需要libwinutils.lib,winutils.exe這些檔案。
第二步、既然能編譯hadoop-2.7.0,那麼本地環境肯定是有了jdk了,這裡不介紹環境了,很簡單,只需要jdk,一個編譯好的hadoop-2.7.0,設定etc/hadoop/hadoop-env.cmd中的JAVA_HOME環境變數。這裡需要注意,如果環境變數路徑中有Program Files,需要修改為PROGRA~1,如下所示:
另外需要將hadoop目錄作為環境變數HADOOP_HOME加入系統中,並將%HADOOP_HOME%\bin加入到Path環境變數中。
接著就可以驗證hadoop版本資訊了:
第三步、修改配置core-site.xml,hdfs-site.xml,mapred-site.xml(預設是mapred-site.xml.template,重新命名一下),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>/E:/software/hadoop-2.7.0/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/E:/software/hadoop-2.7.0/datanode</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> </configuration>
將配置檔案中提到的目錄datanode,namenode建立一下,另外建立一個tmp資料夾。
第四步、格式化資料 :hadoop namenode -format
第五步、啟動hadoop-dfs和hadoop-yarn服務,直接執行sbin\start-all.cmd
這裡會分別啟動四個視窗,包含了namenode,datanode,resourcemanager,nodemanager服務。
namenode console
datanode console
resourcemanager console
nodemanager console
服務啟動了,沒有異常,可以進行進一步的驗證。
jps檢視服務
hdfs驗證
mapreduce驗證 :執行hadoop自帶的示例 wordcount
hadoop jar share\hadoop\mapreduce\hadoop-mapreduce-examples-2.7.0.jar wordcount /user/hadoop/input \
/user/hadoop/output
檢視wordcount執行結果:
webui介面就不展示了,至此,windows上部署hadoop就演示完成了。重點是需要一個編譯好的hadoop。