1. 程式人生 > >Hadoop HDFS 配置、格式化、啟動、基本使用Hadoop MapReduce配置、wordcount程式提交

Hadoop HDFS 配置、格式化、啟動、基本使用Hadoop MapReduce配置、wordcount程式提交

Hadoop的安裝方式
    單機:所有的服務執行在一個程序裡面,開發階段才會使用
    分散式:將多個服務(JVM),分別執行在多臺機器上。
    偽分散式:將多個服務(JVM)執行在一臺機器上

Hadoop偽分散式安裝
    文件:http://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html
安裝過程:
(1)上傳解壓
    tar -zxvf hadoop-2.7.3.tar.gz -C /opt/modules/

rm -rf sbin/*.cmd

(3)修改配置檔案(安裝模組來配置)
    -》*-env.sh 環境變數檔案
        hadoop-env.sh

yarn-env.sh

修改JAVA_HOME=/opt/modules/jdk1.8.0_91
            
    -》common
        core-site.xml
        <!--指定檔案系統HDFS的主節點NameNode執行的 主機名  和 埠 -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://bigdata-hpsk01.huadian.com:8020</value>
        </property>

<!--指定HDFS檔案系統在本地臨時儲存的目錄(需要手動建立),預設是/tmp, -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/modules/hadoop-2.7.3/datas/tmpData</value>
        </property> 

-》HDFS
        hdfs-site.xml
            <!--由於偽分散式,只有一臺機器,所有資料塊 沒有必要設定3份-->
            <property>
                <name>dfs.replication</name>
                <value>1</value>
            </property>

slaves
            指定DataNode執行在那些機器上
            一行一個主機名,DataNode將會執行在此主機上

    -》啟動HDFS
        -》格式化檔案系統
            bin/hdfs namenode -format
            成功的標準:

18/09/04 00:15:05 INFO util.ExitUtil: Exiting with status 0
        -》啟動
            主節點:NameNode
                sbin/hadoop-daemon.sh start namenode

-》驗證是否啟動
            方式一:
                Jps

方式二:
                通過Web UI檢視
                bigdata-hpsk01.huadian.com:50070

訪問失敗的原因:
                    (1)確定程序是否啟動
                    (2)對映是否配置成功
                    (3)防火牆是否關閉,selinux是否設定為disable
                    
    -》HDFS的基本使用
        幫助文件
         bin/hdfs dfs
        - 建立目錄
            bin/hdfs dfs -mkdir -p /datas/input

- 上傳檔案
            bin/hdfs dfs -put /opt/datas/input.data  /datas/input/
 

- 列舉目錄檔案
            bin/hdfs dfs -ls /datas
            webUI

- 檢視檔案內容
            bin/hdfs dfs -text /datas/input/input.data

- 刪除檔案
            bin/hdfs dfs -rm -f -r  /datas/input/input.data

-》YARN
        yarn-site.xml
            <!--YARN的主節點ResourceManager 執行的主機名-->
            <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>bigdata-hpsk01.huadian.com</value>
            </property>
            <!--告知YARN,MapReduce程式將執行在其上-->
            <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
            </property>

slaves --我們不需要配置,剛剛已經配置過一次了
            指定NodeManager執行在那些機器上
            一行一個主機名,DataNode將會執行在此主機上

 
    -》啟動YARN
        啟動
            主節點
                sbin/yarn-daemon.sh start resourcemanager
            從節點
                sbin/yarn-daemon.sh start nodemanager
        驗證:
            方式一:JPS
            方式二:WebUI,8088埠
            bigdata-hpsk01.huadian.com:8088
 
    -》MapReduce
        mv mapred-site.xml.template mapred-site.xml
            <!--指定MapReduce程式執行在YARN上-->
            <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
            </property>
    -》將MapReduce程式執行在YARN上
        準備測試:需要分享的資料
            /datas/input/input.data
        MapReduce程式
/opt/modules/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
        提交
            將mapreduce程式提交到YARN上執行
             bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount  /datas/input/input.data /datas/output/output1