1. 程式人生 > 實用技巧 >HADOOP之HDFS增加MapReduce(六)

HADOOP之HDFS增加MapReduce(六)

在HDFS環境基礎上增加MapReduce計算程式

  1. 之前的HDFS環境不變
  2. 使用root來啟動程式

環境搭建佈局

節點 NN JNN DN ZKFC ZK RM NM
node01
node02
node03
node04

node01:
            cd $HADOOP_HOME/etc/hadoop
            cp mapred-site.xml.template   mapred-site.xml    
            vi mapred
-site.xml vi yarn-site.xml scp mapred-site.xml yarn-site.xml node02:`pwd` scp mapred-site.xml yarn-site.xml node03:`pwd` scp mapred-site.xml yarn-site.xml node04:`pwd` vi slaves //可以不用管,搭建hdfs時候已經改過了。。。 start-yarn.sh
node03~04:
yarn-daemon.sh start resourcemanager

mapred-site.xml配置
            <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
            </property>

yarn-site.xml
    //shuffle意思洗牌,將map之後的值傳遞給reduce  M  -shuffle>  R
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value> </property> <property> <name>yarn.resourcemanager.zk-address</name> <value>node02:2181,node03:2181,node04:2181</value> </property> <property> <name>yarn.resourcemanager.cluster-id</name> <value>mashibing</value> </property> <property> <name>yarn.resourcemanager.ha.rm-ids</name> <value>rm1,rm2</value> </property> <property> <name>yarn.resourcemanager.hostname.rm1</name> <value>node03</value> </property> <property> <name>yarn.resourcemanager.hostname.rm2</name> <value>node04</value> </property>


驗證:
  • http://node03:8088 或 http://node04:8088

  • 進組zookeeper --> zkCli.sh -->get /yarn-leader-election/mashibing/ActiveStandbyElectorLock

mapreduce任務啟動命令和步驟

  • MR ON YARN 的執行方式
            hdfs dfs -mkdir -p   /data/wc/input
            hdfs dfs -D dfs.blocksize=1048576  -put data.txt  /data/wc/input
            cd  $HADOOP_HOME
            cd share/hadoop/mapreduce
            hadoop jar  hadoop-mapreduce-examples-2.6.5.jar   wordcount   /data/wc/input   /data/wc/output
                1)webui:
                2)cli:
            hdfs dfs -ls /data/wc/output
                -rw-r--r--   2 root supergroup          0 2019-06-22 11:37 /data/wc/output/_SUCCESS  //標誌成功的檔案
                -rw-r--r--   2 root supergroup     788922 2019-06-22 11:37 /data/wc/output/part-r-00000  //資料檔案
                    part-r-00000 //意思執行了 map + reduce
                    part-m-00000 //意思只執行 map
            hdfs dfs -cat  /data/wc/output/part-r-00000
            hdfs dfs -get  /data/wc/output/part-r-00000  ./   // 下載到本地看
  • 圖示

注意點:

  • 輸出檔案目錄必須不存在,否則啟動任務報錯