1. 程式人生 > >hadoop完全分布式安裝

hadoop完全分布式安裝

命令 roo shu efault -h 圖片 oop work rsa

  環境介紹

服務器軟件版本
操作系統 CentOS 6.5 x86_64
Java 1.7.0_79
hadoop 2.6.1
hadoop各個節點集群架構
主機名 ip 角色
hadoop01 192.168.103.137 ResourceManager/NameNode/SecondaryNameNode
hadoop02 192.168.103.138 NodeManager/DataNode
hadoop03 192.168.103.140 NodeManager/DataNode

  環境配置

本實驗是在VMware虛擬機上操作,考慮到有些軟件安裝中會上傳下載等重復操作,所以先安裝配置一臺服務器,然後用這臺服務器克隆出其它兩臺。 先安裝好一臺服務器,設置IP為192.168.103.137,以下操作都是在這臺服務器上操作。 1)安裝jdk
,如果已經安裝跳過 將下載的jdk-7u79-linux-x64.tar.gz軟件包上傳到服務器,解壓到/usr/local/目錄,並更名為jdk。 技術分享圖片 2)安裝ssh-clients,如果已經安裝跳過,通過命令安裝:yum install openssh-clients 3)上傳解壓hadoop 技術分享圖片 然後將JAVA_HOME和HADOOP_HOME配置到環境變量中 技術分享圖片 source ~/.bashrc 4)關閉防火墻,集群安裝後會有網絡通信,需要開啟一些端口,為了方便直接關閉防火墻。 技術分享圖片 5)克隆服務器,配置主機域名 將配置好的137服務器克隆出兩臺,分別配置好IP為138和140,具體配置可參考文檔。 三臺服務器能相互ping通,然後配置主機名,三臺都要配置,配置好後通過域名相互ping通。
技術分享圖片 技術分享圖片 免密登入

  三臺服務器分別執行ssh-keygen -t rsa生成密匙對,然後通過ssh-copy-id

  [email protected],將公匙加到三臺服務器授權列表,註意每臺服務器都要全部配到三臺,包括當前所在主機。配置好後三臺服務器能相互ssh登入

  技術分享圖片

  安裝hadoop

  對三臺服務器都進行如下操作,修改hadoop配置文件,配置文件在安裝目錄etc/hadoop下,需要修改core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves。

  創建/usr/local/hadoop/tmp目錄:

  修改core-site.xml為:

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://hadoop01:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/hadoop/tmp</value>
        </property>
</configuration>

  修改hdfs-site.xml為:

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
</configuration>

  將mapred-site.xml.template更名為mapred-site.xml,並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.resourcemanager.hostname</name>
                <value>hadoop01</value>
        </property>
</configuration>
在hadoop01節點上修改slaves文件,添加從節點: 技術分享圖片

  啟動hadoop

  1)格式化文件系統,hadoop可以在任意目錄執行,因為配置了path環境變量,其實調用的是/usr/local/hadoop/bin下的hadoop命令

hadoop namenode -format

技術分享圖片

  2)啟動hdfshadoop可以在任意目錄執行,因為配置了path環境變量,其實調用的是/usr/local/hadoop/sbin下的start-dfs.sh命令

start-dfs.sh 

技術分享圖片

  啟動成功後通過jps命令查看進程,hadoop01節點啟動了三個進程SecondaryNameNode、NameNode、DataNode,hadoop02和hadoop03啟動進程一樣,只啟動了DataNode進程。

技術分享圖片

技術分享圖片

  3)啟動yarn

start-yarn.sh 

技術分享圖片

  通過jps命令查看進程,hadoop01節點啟動了兩個進程ResourceManager、NodeManager,hadoop2和hadoop03啟動進程一樣,只啟動了NodeManager進程。

技術分享圖片

技術分享圖片

  4)運行效果

  在window瀏覽器訪問http://192.168.103.137:50070

技術分享圖片

  點擊datanode查看數據節點

技術分享圖片

  訪問http://192.168.103.137:8088,查看MR任務

技術分享圖片

hadoop完全分布式安裝