2,Hadoop部署

 

前期準備
(1)JAVA_HOME:由於Hadoop的配置文件中依賴 $JAVA_HOME。修改/etc/profile文件。
(2)hostname:修改主機名,方便管理。/etc/sysconfig/network。
(3)ip hostname:方便管理,hadoop默認是使用hostname做爲ip的域名。/etc/hosts。
(4)iptables stop:關閉防火牆,因爲集羣須要用到的端口比較多,因此最好是先關掉。7版本:systemctl stop firewalld
(5)visudo:賦予sudo權限,CentOS中其餘用戶都沒有sudo權限。/etc/sudoers。
(6)chown:更改hadoop文件夾的全部者。sudo chown -R user:group hadoop。
(7)驗證:在hadoop根目錄輸入 bin/hadoop,驗證是否配置正常。
(8)hadoop-env.sh添加 JAVA_HOME變量。
 
1,單機部署
··· 以wordcount爲例:
    (1)輸入數據:在根目錄下建立 wcinput文件夾,並添加word.txt文件。
    (2)執行命令:bin/hadoop jar share/hadoop/mapreduce/......jar wordcount wcinput wcoutput   # 注意:根目錄不能存在wcoutput目錄,必須由hadoop建立。
    (3)查看輸出:cat wcoutput/part-00000。
 
2,僞分佈式部署
··· 以wordcount爲例:
    (1)修改core-site.xml 文件
            <configuration>
                <!-- 用來指定默認文件系統的名稱以及NameNode服務的主機和端口號
                注意:下面的mini主機名要改爲你本機的實際的hostname -->
                <property>
                    <name>fs.defaultFS</name>
                    <value>hdfs://hostname:8020</value>
                </property>
 
                <!-- 配置hadoop臨時保存目錄
                注意:目錄名和你安裝的目錄名要對應 -->
                <property>
                    <name>hadoop.tmp.dir</name>
                    <value>/opt/app/hadoop/data/tmp</value>
                </property>
            </configuration>
    (2)修改hdfs-site.xml文件
            <configuration>
                <!-- 用來指定Hadoop中每個數據的副本數,默認都是3,可是在僞分佈式中只有一個節點,因此這個
                值必須設置爲1 -->
                <property>
                    <name>dfs.replication</name>
                    <value>1</value>
                </property>
            </configuration>
    (3)對HDFS進行格式化
            bin/hadoop namendoe -format
            注意:只能夠格式化一次,若是再次格式化,須要刪除配置的臨時文件目錄 data文件夾
    (4)啓動NameNode和DataNode進程
            sbin/hadoop-daemon.sh start namenode
            sbin/hadoop-daemon.sh start datanode
            注意:
                啓動NameNode時必定要聯網。
                能夠經過jps查看進程是否啓動。
                能夠經過web訪問HDFS(http://主機IP(或域名):50070/explorer.html#
    (5)上傳文件到HDFS
            建立文件夾:bin/hdfs dfs -mkdir /input
            添加文件到HDFS的input目錄:bin/hdfs dfs -put input.txt  /input
            查看是否上傳成功:bin/hdfs dfs -ls /input
    (6)運行與查看
            運行:bin/hadoop  jar  share/..../....jar  wordcount  /input  /output
            查看結果:bin/hdfs dfs -cat /output/par*
 
··· 在YARN上運行MapReduce
    (1)複製一份 mapred-site.xml文件
            cp mapred-site.xml.template  mapred-site.xml
    (2)配置 MapReduce的計算框架爲yarn
            <!-- 配置MapReduce的計算框架,能夠是local,classic,yarn,若是不配置,默認是local -->
            <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
            </property>
    (3)配置yarn-site.xml文件
            <!-- 設置該屬性通知NodeManager須要實現名爲mapreduce.shuffle的輔助服務-->
            <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
            </property>
    (4)啓動
            sbin/yarn-daemon.sh start resourcemanager
            sbin/yarn-daemon.sh start nodemanager
            或者:start-yarn.sh
            經過:http://hostname:8088 查看yarn上執行的程序。
 
··· 配置歷史服務器和日誌彙集:
    (1)配置mapred-site.xml文件
            <!-- 配置歷史服務器的地址 -->
            <property>
                <name>mapreduce.jobhistory.address</name>
                <value>mini:10020</value>
            </property>
 
            <!-- 配置歷史服務器的web展現地址,以及端口號 -->
            <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>mini:19888</value>
            </property>
 
    (2)啓動
        sbin/mr-jobhistory-daemon.sh start historyserver  # 啓動歷史服務器
        查看:http://hadoop11:19888
 
    (3)日誌彙集
        做用:在MR任務運行結束後,將相關的運行日誌上傳到HDFS文件系統中。
        配置yarn-site.xml文件:
            <!-- 配置日誌彙集屬性-->
            <property>
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
            </property>
 
            <!-- 配置日誌彙集的時間 (7天) -->
            <property>
                <name>yarn.log-aggregation.retain-seconds</name>
                <value>604800</value>
            </property>
        配置完後須要 重啓 歷史服務器和 yarn
 
··· 注意事項:
    · start-dfs.sh 能夠一次啓動NameNode、DataNode和 SecondaryNameNode,可是須要輸入三次密碼,能夠通                    過設置本地免密登陸,來面輸密碼;ssh-copy-id -i ~/.ssh/id_rsa.pub  shendeng@hadoop11(本地主機名)。
    · start-yarn.sh 能夠一次啓動 resourcemanager和nodemanager。
 
3,徹底分佈式
··· 集羣規劃
hadoop11
hadoop22
hadoop33
NameNode
ResourceManager SecondaryNameNode
DataNode
DataNode
DataNode
NodeManager
NodeManager
NodeManager
 
 
HistoryServer
 
··· 5個配置文件
· core-site.xml:配置hadoop的文件系統爲hdfs以及地址、臨時文件夾位置。
· hdfs-site.xml:配置SecondaryNameNode的主機地址、NameNode的web地址、關閉文件系統的權限控制。
· yarn-site.xml:配置ResourceManager主機的位置、shuffle服務、開啓日誌彙集功能、日誌保存的時間。
· mapred-site.xml:配置MapReduce的計算框架爲yarn、MapReduce歷史記錄地址、歷史記錄web地址。
· slaves:在該文件中添加從節點的主機名(注意不能有空格)。
具體配置文件 提取碼:0gkn
 
··· 啓動
· 複製配置文件:
    將配置文件複製到其餘節點上。scp -r /opt/app/hadoop27/etc/hadoop/   hadoop22:/opt/app/hadoop27/etc/
· 初始化NameNode節點:
    注意:必須刪除 /tmp和 hadoop根目錄中的 data/tmp文件,不然沒法初始化
    在部署NameNode的節點上初始化NameNode。hadoop namenode -format
· 啓動守護進程
    在部署NameNode的節點上啓動 HDFS。start-hdfs.sh
    在部署resourcemanager的節點上啓動YARN。start-yarn.sh
相關文章
相關標籤/搜索