1. 程式人生 > >windows部署hadoop-2.7.0

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。