標籤:

Win10中搭建Hadoop環境

Win10中搭建Hadoop環境

環境搭建問題一直都比較令人頭疼,可能技術含量不高,但坑比較多,對於新手來說更是如此。這裡,我貼出我在win10中搭建Hadoop的一些心得和遇到的一些坑,希望能給其他新手提供一些幫助,繞開這些坑,避免浪費不必要的時間。


首先在搭建Hadoop環境之前需要先安裝JDK,並且配置好Java環境變數,具體如何配置,可以參照其他已有的教程,這裡需要注意的是,Java環境變數中不允許有空格,如 C:Program Filesjavaxxxxx , 後續步驟中在 hadoop-env.cmd 配置 JAVA_HOME 時,這種環境變數的是無法識別的,容易報 「Error JAVA_HOME is incorrectly set.」 之類的錯誤。

1 下載安裝

進入Hadoop官網下載壓縮文件,如 hadoop-2.7.4.tar.gz ,解壓到指定目錄, 解壓後文件結構如下:

注意: data目錄是後續配置生成的

2 配置Hadoop環境變數

這裡需要配置的環境變數是系統環境變數。主要需要配置的是HADOOP_HOME和Path。這裡需要配置的都是bin目錄所在的路徑。

類似的,將bin所在路徑添加到Path中

3 修改配置文件

這裡需要修改的配置文件有:

  • core-site.xml
  • hdfs-site.xml
  • yarn-site.xml
  • hadoop-env.cmd

3.1 core-site.xml

<!-- Put site-specific property overrides in this file. --><configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property></configuration>

這個文件沒有特別需要注意的地方,直接覆蓋就行

3.2 hdfs-site.xml

這是Hadoop分散式文件系統的配置,主要是配置 namenode datanode 的路徑

<!-- Put site-specific property overrides in this file. --><configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/distributed/hadoop/data/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/distributed/hadoop/data/datanode</value> </property></configuration>

下面兩個value即配置了 namenode 和datanode的路徑,配置成功後(執行第四步後),相關路徑中會多一個data目錄:

3.3 yarn-site.xml

<configuration> <!-- nodemanager要求的內存最低為1024 --> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>1024</value> </property> <property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>1</value> </property></configuration>

這裡需要注意,nodemanager 要求的內存最低為1G,所以value至少是1024,否則無法啟動nodemanager

ATAL org.apache.hadoop.yarn.server.nodemanager.NodeManager: Error starting NodeManager org.apache.hadoop.yarn.exceptions.YarnRuntimeException:org.apache.hadoop.yarn.exceptions.YarnRuntimeException: Recieved SHUTDOWN signal from Resourcemanager ,Registration of NodeManager failed,Message from ResourceManager: NodeManager from hadoop doesnt satisfy minimum allocations, Sending SHUTDOWN signal to the NodeManager

3.4 hadoop-env.cmd

@rem The java implementation to use. Required.@rem set JAVA_HOME=%JAVA_HOME%set JAVA_HOME=%JAVA_HOME%@rem The jsvc implementation to use. Jsvc is required to run secure datanodes.@rem set JSVC_HOME=%JSVC_HOME%

4 格式化HDFS系統

CMD切換到Hadoop的bin目錄下,執行命令:

hdfs namenode -format

格式化後,如果沒有報什麼錯誤,基本上算是搭建成功了,這個時候Hadoop安裝盤會多出兩個目錄

兩個目錄下的文件分別為

5 啟動Hadoop

切換到Hadoop下sbin目錄,執行 start-all 命令,啟動Hadoop,這時會啟動namenode,、datanoderesourcemanagernodemanager。執行jps命令,可以看到如下啟動進程

通過瀏覽器進入管理界面

http://localhost:8088

http://localhost:50070

到這一步,Hadoop就算是搭建成功了

6 簡單測試

6.1 首先創建一個輸入目錄如 user/data/input

這個時候一定要注意不要創建output目錄,否則後面將會報 output目錄已存在的錯誤,因為Hadoop會自動生成這個目錄。

6.2 上傳文件到input目錄中

執行命令

hdfs dfs -put /test /user/data/input

這裡是將test文件傳到了上一步創建的目錄下,下面我們可以看看這個文件:

hdfs dfs -cat /user/data/input/test

6.3 執行wordcount

hadoop jar /distributed/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar wordcount /user/data/input /user/data/output

6.4 進入web管理界面

可以通過localhost:50070進入管理界面

點擊最右邊的utilities —> Browse the file system進入, 輸入文件路徑

可以看到有兩個文件,最終的結果就存在part-r-00000中

搭建成功

推薦閱讀:

第二章:安裝CentOS
Hadoop分散式文件系統1-從RAID說起
世界沉醉在數據里
觀數科技李科:解決Hadoop應用防護問題,潛在市場規模百億級 | 愛分析訪談
做好機器學習,數學要學到什麼程度?

TAG:Hadoop |