hadoop-2.5.0-cdh5.3.6叢集搭建

qijian0503發表於2018-09-22

安裝環境說明

  • 作業系統:CentOS 7
  • hadoop版本:hadoop-2.5.0-cdh5.3.6.tar.gz
  • jdk版本:jdk 1.7
  • 安裝使用者:root
  • 相關軟體下載
    pan.baidu.com/s/1drI1TO

機器與服務規劃

  • 機器規劃

    hostname sparkproject1 sparkproject2 sparkproject3
    記憶體 32G 16G 16G
  • 服務規劃

    hostname sparkproject1 sparkproject2 sparkproject3
    HDFS NameNode、SecondaryNameNode DataNode DataNode
    YARN ResourceManager NodeManager NodeManager

安裝hadoop包

  • 下載hadoop-2.5.0-cdh5.3.6.tar.gz
    安裝目錄為:/usr/local
    將下載的hadoop-2.5.0-cdh5.3.6.tar.gz,上傳到/usr/local目錄下。

  • 將hadoop包進行解壓縮

    tar -zxvf hadoop-2.5.0-cdh5.3.6.tar.gz
    複製程式碼
  • 對hadoop目錄進行重新命名

    mv hadoop-2.5.0-cdh5.3.6 hadoop
    複製程式碼
  • 配置hadoop相關環境變數

    #配置環境變數
    vi ~/.bashrc
    #新增hadoop環境變數
    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    #使配置的環境變數生效
    source ~/.bashrc
    複製程式碼
  • 建立/usr/local/data目錄

    mkdir /usr/local/data
    複製程式碼
  • 測試是否配置成功

    hadoop version
    yarn version
    複製程式碼

    hadoop版本

修改配置檔案

以下配置檔案在:/usr/local/hadoop/etc/hadoop/目錄下

  • 修改core-site.xml

    <property>
      <name>fs.default.name</name>
      <value>hdfs://sparkproject1:9000</value>
    </property>
    複製程式碼

    core-site.xml

    屬性說明:
    fs.default.name:配置hdfs地址

  • 修改hdfs-site.xml

    <property>
      <name>dfs.name.dir</name>
      <value>/usr/local/data/namenode</value>
    </property>
    <property>
      <name>dfs.data.dir</name>
      <value>/usr/local/data/datanode</value>
    </property>
    <property>
      <name>dfs.tmp.dir</name>
      <value>/usr/local/data/tmp</value>
    </property>
    <property>
      <name>dfs.replication</name>
      <value>2</value>
    </property>
    複製程式碼

    hdfs-site.xml

    屬性說明:
    dfs.replication:hdfs副本數。
    總共3個節點,1個master,2個slave。所以設定成2個block副本

  • 修改mapred-site.xml
    重新命名mapred-site.xml.template為mapred-site.xml

    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>
    複製程式碼

    mapred-site.xml

  • 修改yarn-site.xml

    <property>
      <name>yarn.resourcemanager.hostname</name>
      <value>sparkproject1</value>
    </property>
    <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
    </property>
    複製程式碼

    yarn-site.xml

  • 修改slaves檔案

    sparkproject2
    sparkproject3
    複製程式碼

    slaves

在另外兩臺機器上搭建hadoop

使用如上sparkproject1上配置hadoop,在另外兩臺機器上搭建hadoop。可以使用scp命令將sparkproject1上面的hadoop安裝包和~/.bashrc配置檔案都拷貝到sparkproject2、sparkproject3。

  • 將sparkproject1上的hadoop複製到sparkproject2

    • 在sparkproject1上執行

      cd /usr/local
      scp -r hadoop root@sparkproject2:/usr/local
      scp ~/.bashrc root@sparkproject2:~/
      複製程式碼

      複製成功後sparkproject2上的hadoop:

      sparkproject2上的hadoop

    • 在sparkproject2上執行

      #對.bashrc檔案進行source,以讓它生效。
      source ~/.bashrc
      #建立data目錄。
      mkdir /usr/local/data
      複製程式碼
  • 將sparkproject1上的hadoop複製到sparkproject3
    按照上面同樣的步驟,同樣的方式將sparkproject1上面的hadoop安裝包和~/.bashrc配置檔案都拷貝到sparkproject3。

  • 測試sparkproject2、sparkproject3是否配置成功
    在sparkproject2、sparkproject3分別執行如下命令:

    hadoop version
    yarn version
    複製程式碼

    hadoop、yarn版本檢視

啟動hdfs叢集

  • 格式化namenode
    在sparkproject1上執行以下命令

    hdfs namenode -format
    複製程式碼
  • 啟動hdfs叢集

    start-dfs.sh
    複製程式碼

    啟動hdfs叢集.png

  • 驗證啟動是否成功
    sparkproject1:namenode、secondarynamenode

    sparkproject1-jps.png

    sparkproject2:datanode
    sparkproject2-jps.png

    sparkproject3:datanode
    sparkproject3-jps.png

  • hdfs管理介面:
    http://sparkproject1:50070

    hdfs管理介面.png

  • 測試hdfs

    hdfs dfs -put hello.txt /hello.txt
    複製程式碼

啟動yarn叢集

  • 啟動yarn叢集

    start-yarn.sh
    複製程式碼

    啟動yarn叢集.png

  • 驗證啟動是否成功
    sparkproject1:resourcemanager

    sparkproject1-yarn-jps.png

    sparkproject2:nodemanager
    sparkproject2-yarn-jps.png

    sparkproject3:nodemanager
    sparkproject3-yarn-jps.png

  • yarn管理介面
    http://sparkproject1:8088/

    yarn管理介面.png

相關文章