環(huán)境
主機(jī):Windows 10
Hadoop:2.7.5
Java:1.9
步驟
1. 確認(rèn)Java已經(jīng)安裝空民,并已經(jīng)添加到環(huán)境變量中,測(cè)試方法:cmd中輸入java -version
,顯示如下:
2. 下載 hadoop binary,解壓后修改以下配置文件:
1)hadoop-2.7.1/etc/hadoop/hadoop-env.cmd妓雾,把JAVA_HOME
的值修改為本機(jī)上jdk的路徑,注意路徑上不能有空格垒迂,jdk裝在Program File
文件夾下的同學(xué)可以這么寫(xiě):
set JAVA_HOME=C:\PROGRA~1\Java\jdk-9.0.1
此時(shí)在hadoop根目錄下的bin文件夾下械姻,你可以輸入hadoop version
查看你的hadoop版本了。
2)hadoop-2.7.5/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
3)hadoop-2.7.5/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
4)hadoop-2.7.1/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/d:/software/hadoop-2.7.5/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/d:/software/hadoop-2.7.5/data/datanode</value>
</property>
</configuration>
注意把/d:/software/hadoop-2.7.5
替換成你的hadoop根目錄
5)hadoop-2.7.5/etc/hadoop/yarn-site.xml
<configuration>
<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>
3. 啟動(dòng)hadoop
1)在bin
目錄下輸入hadoop namenode -format
机断,應(yīng)該能看到這樣的結(jié)果:
2)在
sbin
目錄下輸入start-all
楷拳,會(huì)有多個(gè)cmd窗口被創(chuàng)建,此時(shí)輸入jps
吏奸,應(yīng)當(dāng)看到如下結(jié)果:我有時(shí)會(huì)遇到DataNode創(chuàng)建失敗的情況欢揖,刪除根目錄下data/datanode文件夾在
start-all
解決問(wèn)題。
3)在瀏覽器中輸入localhost:50070
應(yīng)當(dāng)能看到如下網(wǎng)頁(yè):
4)輸入localhost:8088
頁(yè)面如下:
4. 停止hadoop
在bin
目錄下輸入stop-all
Wordcount運(yùn)行
Hadoop基于HDFS(Hadoop Distributed File System)這一文件系統(tǒng)管理文件奋蔚,使用指令hadoop fs -op <args>
可以對(duì)HDFS進(jìn)行操作她混。
1)我們先在HDFS中創(chuàng)建一個(gè)輸入文件夾:
# hdfs dfsadmin -safemode leave
hadoop fs -mkdir /input
當(dāng)你發(fā)現(xiàn)直接-mkdir失敗時(shí),加上第一條就OK了泊碑。你可以通過(guò)hadoop fs -ls /
查看HDFS根目錄下的文件坤按,應(yīng)當(dāng)已經(jīng)包含了/input
文件夾。你可以用hdfs fs -rmr /input
刪除這一文件夾馒过。
2)在本地創(chuàng)建兩個(gè)文本文件臭脓,上傳到/input
文件夾:
hadoop fs -put *.txt /input
這樣我們輸入就準(zhǔn)備好了,確認(rèn)一下:
3)運(yùn)行示例jar包:
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /input /output
一開(kāi)始報(bào)錯(cuò)createSymbolicError
腹忽,解決方案:運(yùn)行->gpedit.msc->計(jì)算機(jī)配置->Windows設(shè)置->安全設(shè)置->本地策略->用戶權(quán)限分配->創(chuàng)建符號(hào)鏈接来累,添加你的用戶名。然后重啟電腦窘奏,再運(yùn)行就ok了佃扼。附上成功的截圖:
輸出文件在output/part-r-00000,通過(guò)命令hadoop fs -cat /output/part-r-00000
查看內(nèi)容