日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop系列二:Hadoop单节点伪分布部署并执行mapreduce示例wordcount

發布時間:2025/4/16 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop系列二:Hadoop单节点伪分布部署并执行mapreduce示例wordcount 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HDFS在集群上實現分布式文件系統,MapReduce在集群上實現了分布式計算和任務處理。HDFS在MapReduce任務處理過程中提供了文件操作和存儲等支持,MapReduce在HDFS的基礎上實現了任務的分發、跟蹤、執行等工作,并收集結果,二者相互作用,完成了Hadoop分布式集群的主要任務。

1)部署單節點偽分布

單節點Ubuntu,主機名hp

第一步:先安裝JDK和SSH,并配置SSH無密碼登錄。

JDK解壓安裝在/home/hp下。

安裝SSH:$sudo apt-get install ssh

安裝rsync:$sudo apt-get install rsync

生成密鑰:$ssh-keygen–t rsa –f /home/hp/.ssh/id_rsa

授權訪問:$cat/home/hp/.ssh/id_rsa.pub>>/home/hp/.ssh/authorized_keys

測試:sshlocalhost

第二步:Hadoop解壓在/home/hp并配置core-site.xml和hdfs-site.xml

創建如下文件夾

$mkdir tmp

$mkdir hdfs

$mkdir hdfs/data

$mkdir hdfs/name

設置$geditetc/hadoop/core-site.xml

fs.defaultFS值為hdfs://hp:9000

<property>

?? ? ? <name>fs.defaultFS</name>

?? ? ? <value>hdfs://hp:9000</value>

</property>

<property>

?? ? ? <name>hadoop.tmp.dir</name>

?? ? ? <value>file:/home/hp/hadoop/tmp</value>

?? </property>

設置$geditetc/hadoop/hdfs-site.xml

dfs.replication值為1

<property>

?? ? ? <name>dfs.namenode.name.dir</name>

?? ? ? <value>/home/hp/hadoop/dfs/name</value>

</property>

<property>

?? ? ? <name>dfs.datanode.data.dir</name>

?? ? ? <value>/home/hp/hadoop/dfs/data</value>

?? </property>

<property>

?? ? ? <name>dfs.replication</name>

?? ? ? <value>1</value>

</property>

<property>

?? ? ? <name>dfs.namenode.secondary.http-address</name>

?? ? ? <value>hp:9001</value>

</property>

設置hosts:$sudo gedit /etc/hosts

注釋所有行, 追加:

127.0.0.1 hp

127.0.0.1localhost

設置etc/hadoop/hadoop-env.sh的Java路徑

$bin/hdfsnamenode –format

啟動集群$sbin/start-dfs.sh

http://127.0.0.1:50070 打開頁面驗證單節點偽分布已成功。

第三步:如要運行在yarn上,則配置mapred-site.xml和yarn-site.xml

$geditetc/hadoop/mapred-site.xml

mapreduce.framework.name值為yarn

<property>

??????<name>mapreduce.framework.name</name>

??? ???<value>yarn</value>

?? </property>

$geditetc/hadoop/yarn-site.xml

yarn.nodemanager.aux-services值為mapreduce_shuffle

<property>

??????<name>yarn.nodemanager.aux-services</name>

??? ???<value>mapreduce_shuffle</value>

?? </property>

設置etc/hadoop/yarn-env.sh的Java路徑

啟動yarn$sbin/start-yarn.sh

http://127.0.0.1:8088 驗證啟動成功。

2)運行wordcount作業-使用yarn

第一步:在HDFS中創建input文件目錄:$bin/hadoop fs –mkdir /input

第二步:上傳文件到hdfs的input目錄下

$bin/hadoopfs –put LICENSE.txt /input

本文這里用hadoop安裝目錄下的LICENSE.txt文件作為wordcount的輸入。

$bin/hadoopfs -ls /input

查看文件是否正確傳入到/input目錄下

$bin/hadoopfs -cat /input/LICENSE.txt查看文件內容

第三步:執行

$bin/hadoop jar

/home/hp/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jarwordcount /input /output

第四步:查看結果

$bin/hadoopfs -ls /output

查看輸出結果的目錄

$bin/hadoopfs -cat /output/part-r-00000

3)運行wordcount作業-不使用yarn

如果不使用yarn,進行mapreduce.job.tracker配置用MRv1來執行job,不需要啟動nodemanager。

設置$geditetc/hadoop/mapred-site.xml

<property>

?? ? ? <name>mapreduce.job.tracker</name>

?? ? ? <value>hdfs://hp:8001</value>

?? ? ? <final>true</final>

<property>

啟動sbin/start-dfs.sh和sbin/start-yarn.sh后執行

$bin/hadoop jar

/home/hp/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jarwordcount /input /output2

查看結果

$bin/hadoopfs -ls /output2

查看輸出結果的目錄

$bin/hadoopfs -cat /output2/part-r-00000

關閉sbin/stop-dfs.sh和sbin/stop-yarn.sh


總結:過程中,面對不斷出現的錯誤需要查閱資料并調整配置,慢慢理解到整體框架,但深入研究還有待時日。

總結

以上是生活随笔為你收集整理的Hadoop系列二:Hadoop单节点伪分布部署并执行mapreduce示例wordcount的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。