Windows 7 64位系統上搭建Hadoop偽分散式環境(很詳細)
阿新 • • 發佈:2019-01-25
在開始配置前,我們先了解Hadoop的三種執行模式。
Hadoop的三種執行模式
- 獨立(或本地)模式:無需執行任何守護程序,所有程式都在同一個JVM上執行。在獨立模式下測試和除錯MapReduce程式很方便,因此該模式在開發階段比較適合。
- **偽分散式模式:**Hadoop守護程序執行在本地機器上,模擬一個小規模的叢集。
- **全分散式模式:**Hadoop守護程序執行在一個叢集上。
下面我們進入正題,即如何在Windows 7上搭建Hadoop偽分散式環境。
- 安裝JDK,設定環境變數。
首先,在控制面板上檢視自己的作業系統是32位還是64位。
然後,檢查自己的電腦上是否已經具備Java環境。步驟如下:
1)Ctrl+R
2)cmd
3)輸入java -version,若正常顯示java版本,證明本機已安裝java環境,跳到步驟2.若顯示“不是內部或外部命令”,則需要安裝JDK,繼續步驟4)
4) 安裝JDK,樓主用的是jdk-8u131-windows-x64.exe,因為不允許重複上傳CSDN資源,所以樓主無法提供給大家,可以自行下載。說明:只需安裝JDK,不需要安裝JRE。
5)配置Java環境變數,配置路徑:計算機(右鍵)–屬性–高階系統設定—高階–環境變數。
在系統變數處新建,變數名:JAVA_HOME;變數值:你安裝JDK的位置,樓主的是D:\Tools\jdk
修改path:在原有的那串變數值後增加%JAVA_HOME%\bin;…
6)測試Java環境
在cmd視窗:
測試Java環境:
echo %JAVA_HOME%
echo %path%
path
java -version
javac -version - 下載window util for hadoop。為了配合hadoop 2.7.7,樓主也上傳了資源(https://download.csdn.net/download/u013159040/10620589),下載後解壓到hadoop2.7.7的bin目錄下,直接覆蓋該目錄下的所有內容。請注意此util與具體的hadoop版本是有關的,如果選用不同的hadoop版本,需要找到正確的util。
- 新增Hadoop環境變數,參考Java的,新建HADOOP_HOME 變數名同樣是自己存放hadoop的位置,如D:\Tools\Hadoop\hadoop-2.7.7, 並新增path路徑:%HADOOP_HOME%\bin
建立nodename和datanode目錄,用來儲存資料,如:
d:\tools\hadoop\data\namenode
d:\tools\hadoop\data\datanode在D:\Tools\Hadoop\hadoop-2.7.7\etc\hadoop裡修改4個配置檔案:core-site.xml, hdfs-site.xml, mapred-site.xml, yarn-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml(不要直接複製樓主的,要看看自己的namenode和datanode存放的位置是否和樓主一致,不一致的要修改):
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/D:/Tools/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/D:/Tools/data/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>
<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了。
Hadoop 啟動命令start -all.cmd
Hadoop 結束命令stop -all.cmd
進入到自己的hadoop sbin目錄(一直cd就行了),啟動start-all.cmd,再jps檢視java程序,如下圖
同時,會跳出4個視窗
下面可以測試Hadoop自帶的Wordcount
- 在d盤新建一個txt檔案t1.txt
- 把t1上傳到HDFS: hadoop fs -put d:\t1.txt /t1/t1.txt
- cd進到mapreduce,然後可以開始執行wordcount了:
hadoop jar /D:\Application\hadoop-2.7.7\share\hadoop\mapreduce\hadoop-mapreduce-examples-2.7.7.jar wordcount \t1 \output
- 然後我們可以看到詞頻統計結果:
網頁上檢視的如下:
可以下載分散式檔案系統上的這個t1.txt檔案。
——————————————–歡迎一起學習探討————————————————