先期準備:
- java環(huán)境已安裝
著手開始:
1璧微、下載hadoop穩(wěn)定版:http://hadoop.apache.org/->左邊點Releases->點mirror site->http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common->stable/->hadoop-2.9.0.tar.gz 點擊即可下載羡疗。
2、解壓并配置hadoop環(huán)境昆箕,新建HADOOP_HOME和修改PATH。
3、進入解壓后目錄的etc/hadoop/中,修改配置4個文件:
- 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>file:/hadoop/data/dfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/hadoop/data/dfs/datanode</value>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
</configuration>
- mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
- 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>
4艘儒、格式化nodename再啟動hadoop:
啟動windows命令行窗口,進入hadoop-2.9.0\bin目錄夫偶,執(zhí)行下面2條命令界睁,先格式化namenode再啟動hadoop。
bin/hadoop namenode -format
sbin/start-all.cmd
檢查驗證
使用jps命令查看
9568 ResourceManager
10676 Jps
9576 NodeManager
10316 NameNode
通過jps命令可以看到4個進程都拉起來了索守,到這里hadoop的安裝啟動已經完事了晕窑。接著我們可以用瀏覽器到localhost:8088看mapreduce任務,到localhost:50070->Utilites->Browse the file system看hdfs文件卵佛。如果重啟hadoop無需再格式化namenode,只要stop-all.cmd再start-all.cmd就可以了。
管理界面:http://localhost:8088
mapreduceJob界面:http://localhost:50030(2.0+新端口是8088)
HDFS 文件系統(tǒng)界面:http://localhost:50070(3.0+新端口是9870)
運行例子(wordcount)
hdfs上新建文件夾:
hadoop fs -mkdir /hdfs_in
查看hdfs上的文件夾是否建立成功:
hadoop fs -ls /
上傳txt文件:
hadoop fs -put ./* /hdfs_in
- 運行hadoop內置示例wordcount任務
hadoop jar E:\toolsoftware\hadoop-2.8.3\share\hadoop\mapreduce\hadoop-mapreduce-examples-*.jar wordcount /hdfs_in /hdfs_out
- 使用python運行wordcount任務(不加file參數(shù)也行)
hadoop jar E:\toolsoftware\hadoop-2.8.3\share\hadoop\tools\lib\hadoop-streaming-2.8.3.jar -D stream.non.zero.exit.is.failure=flase -file E:/toolsoftware/hadoop/test/code/mapper.py -mapper "C:\Python36\python3.exe E:\toolsoftware\hadoop\test\code\mapper.py" -file E:/toolsoftware/hadoop/test/code/reducer.py -reducer "C:\Python36\python3.exe E:\toolsoftware\hadoop\test\code\reducer.py" -input /hdfs_in -output /hdfs_out
若運行失敗截汪,需要先刪除輸出文件夾
hadoop fs -rmr /hdfs_out
問題匯總
問題1:datanode啟動不起來疾牲。
在第一次格式化dfs后,啟動并使用了hadoop衙解,后來又重新執(zhí)行了格式化命令(hdfs namenode -format)阳柔,這時namenode的clusterID會重新生成,而datanode的clusterID 保持不變蚓峦。