1. 程式人生 > >Hadoop叢集搭建——環境配置

Hadoop叢集搭建——環境配置

一、叢集搭建注意問題說明

1、此處叢集環境搭建我使用了三臺主機進行模擬,分別為:

hadoop-series.bxp.com
hadoop-series1.bxp.com
hadoop-series2.bxp.com

2、叢集搭建前需要注意的問題:

(1)叢集中的節點的使用者名稱登陸名和密碼應當保持一致。
(2)hadoop和jdk的安裝目錄應當保持一致。

以上保持一致不是必須的,只是為了防止環境搭建過程中的不必要的麻煩。

二、主機節點配置

1、修改主機名:

(1)臨時修改

hostname  hadoop-series.bxp.com

此方法可以直接生效,但是電腦重啟後將會失效。電腦重啟將會讀取配置檔案。

(2)修改配置檔案/etc/hostname,填寫你的主機名

hadoop-series.bxp.com

使用以上的方法分別將三臺的主機的主機名修改為:

hadoop-series.bxp.com
hadoop-series1.bxp.com
hadoop-series2.bxp.com

2、修改/etc/hosts檔案,配置主機名到IP地址的對映。

192.168.1.103 hadoop-series.bxp.com hadoop-series
192.168.1.133 hadoop-series1.bxp.com hadoop-series1
192.168.1.135
hadoop-series2.bxp.com hadoop-series2

三、叢集搭建

1、分析叢集分佈

為了提高叢集的高可用性,把NameNode,ResourceManager,SecondaryNamenode分別方式在不同的機器上,最終分佈如下:

條目 主機1 主機2 主機3
HDFS NameNode, DataNode DataNode DataNode, SecondaryNameNode
YARN NodeManager ResourceManager, NodeManager NodeManager
MapReduce JobHistoryServer

2、根據上述節點非配結果進行配置節點分佈,配置各個檔案:

(1)hdfs相關配置

hadoop-env.sh(配置hdfs執行環境):

JAVA_HOME=/home/bxp/Documents/install/jdk1.8.0_131

core-site.xml(配置namenode所在主機):


<configuration>
    <!--namenode所在主機-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop-series.bxp.com:8020</value>
    </property>
    <!--臨時目錄-->
    <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/bxp/Documents/install/hadoop-2.6.5/data/tmp</value>
        </property>
    <!--垃圾回收-->
    <property>
            <name>fs.trash.interval</name>
            <value>420</value>
        </property>
</configuration>

hdfs-site.xml(配置secondNameNode所在主機):

<configuration>
    <!-- 副本數量不需要進行控制,預設就可以-->
    <!--    
    <property>
             <name>dfs.replication</name>
            <value>1</value>
        </property>
    -->
    <!-- secondaryNamenode放在第hadoop-series2.bxp.com上-->
    <property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hadoop-series2.bxp.com:50070</value>
    </property>
</configuration>

slaves(配置dataNode所在主機):

hadoop-series.bxp.com
hadoop-series1.bxp.com
hadoop-series2.bxp.com

(2)YARN相關配置

yarn-env.sh(配置yarn執行環境):

JAVA_HOME=/home/bxp/Documents/install/jdk1.8.0_131

yarn-site.xml(配置resouceManager所在主機):

<configuration>
 <property>
         <name>yarn.nodemanager.aux-services</name>
             <value>mapreduce_shuffle</value>
     </property>

    <!--配置ResourceManager在hadoop-series1.bxp.com上-->
    <property>
             <name>yarn.resourcemanager.hostname</name>
             <value>hadoop-series1.bxp.com</value>
    </property>

    <!--配置日誌聚集-->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <!--配置日誌在檔案系統中存放的秒數(604800為7天)-->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
</configuration>

slaves(配置NodeManager):

hadoop-series.bxp.com
hadoop-series1.bxp.com
hadoop-series2.bxp.com

(3) MapReduce相關配置

mapred-env.sh(配置mapreduce執行環境):

JAVA_HOME=/home/bxp/Documents/install/jdk1.8.0_131

mapred-site.xml(配置JobHistoryServer所在主機):

<configuration>
    <property>
             <name>mapreduce.framework.name</name>
             <value>yarn</value>
    </property>
    <!--配置job-history-->
    <property>
             <name>mapreduce.jobhistory.address</name>
             <value>hadoop-series1.bxp.com:10020</value>
    </property>
    <property>           <name>mapreduce.jobhistory.webapp.address</name>
             <value>hadoop-series1.bxp.com:19888</value>
    </property>
</configuration>

四、配置節點間的無金鑰登陸

配置namenode節點和ResourceManager節點到其他節點的無金鑰登陸。

五、分發已經配置好的hadoop安裝包到其他各個節點

scp -r /home/bxp/hadoop  hadoop-series1.bxp.com:/home/bxp
scp -r /home/bxp/hadoop  hadoop-series2.bxp.com:/home/bxp

到這裡叢集搭建叢集搭建的配置已經完畢了,如果想進行一些操作去測試叢集的搭建是否成功,可以檢視Hadoop啟動模式,基本配置,啟動方式