1. 程式人生 > >Centos7完全分布式搭建Hadoop2.7.3

Centos7完全分布式搭建Hadoop2.7.3

.com 密碼 hist gif apach sys cat 設置 blank

(一)軟件準備

1,hadoop-2.7.3.tar.gz(包)

2,三臺機器裝有cetos7的機子

(二)安裝步驟

  1,給每臺機子配相同的用戶

    進入root : su root

    創建用戶s: useradd s

    修改用戶密碼:passwd s

  2.關閉防火墻及修改每臺機的hosts(root 下)

    vim /etc/hosts 如:(三臺機子都一樣)

技術分享

    vim /etc/hostsname:如修改後參看各自的hostname

技術分享

技術分享

技術分享

    關閉防火墻:

      systemctl stop firewalld.service

      禁用防火墻:systemctl disable firewalld.service

      查看防火墻狀態firewall-cmd --state

      重啟 reboot

  3,為每臺機的用戶s配置ssh,以用戶s身份登錄 (一定要相同的用戶,因為ssh通信默認使用相同用戶身份訪問另一臺機子)

    1,root 用戶下修改: vim /etc/ssh/sshd_config,設置這三項後,執行service sshd restart

技術分享

    2,退出root,在用戶s下操作

      生成密鑰對: ssh-keygen -t dsa(一路回車即可)

      轉入ssh目錄下:cd .ssh

      導入公鑰: cat id_dsa.pub >> authorized_keys

      修改authorized_keys權限:chmod 644       

      authorized_keys (修改權限,保證自己免密碼能登入)

      驗證 ssh Master (在三臺機都執行相同的操作)

    3,實現master-slave免密碼登錄

      在master 上執行:   cat ~/.ssh/id_dsa.pub | ssh [email protected] ‘cat - >> ~/.ssh/authorized_keys‘

                cat ~/.ssh/id_dsa.pub | ssh [email protected]

/* */ ‘cat - >> ~/.ssh/authorized_keys ‘

      驗證 :ssh Slave1


(三 )配置Hadoop集群

    1,解壓hadoop和建立文件

      root用戶下:tar zxvf /home/hadoop/hadoop-2.7.3.tar.gz -C /usr/

       重命名:mv hadoop-2.7.3 hadoop

       授權給s: chown -R s /usr/hadoop

    2,創建hdfs相關文件(三臺機子都需要操作)

      創建存儲hadoop數據文件的目錄: mkdir /home/hadoopdir

      存儲臨時文件,如pid:mkdir /home/hadoopdir/tmp

      創建dfs系統使用的dfs系統名稱hdfs-site.xml使用:mkdir /home/hadoopdir/dfs/name

      創建dfs系統使用的數據文件hdfs-site.xml文件使用:mkdir /home/hadoopdir/dfs/data

       授權給s: chown -R s /home/hadoopdir

    3,配置環境變量(三臺機子都需要操作)

     root用戶下:vim /etc/profile 添加如圖: 保存退出後:source /etc/profile

          驗證:hadoop version(這裏要修改 /usr/hadoop/etc/hadoop/hadoop-env.sh,即export JAVA_HOME=/usr/lib/jvm/jre)

技術分享

    4,配置hadoop文件內容

      4.1 修改core-site.xml        

技術分享
<configuration>
       <property>
                <name>fs.defaultFS</name>
                <value>hdfs://Master:9000</value>
       </property>
       <property>
                <name>io.file.buffer.size</name>
                <value>131072</value>
        </property>
       <property>
               <name>hadoop.tmp.dir</name>
               <value>file:/home/hadoopdir/tmp/</value>
               <description>A base for other temporary   directories.</description>
       </property>
        <property>
               <name>hadoop.proxyuser.hadoop.hosts</name>
               <value>*</value>
       </property>
       <property>
               <name>hadoop.proxyuser.hadoop.groups</name>
               <value>*</value>
       </property>
</configuration>
技術分享

     4.2 修改hdfs-site.xml文件

技術分享
<configuration>
     <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:///home/hadoopdir/dfs/name</value>
       </property>
      <property>
              <name>dfs.datanode.data.dir</name>
              <value>file:///home/hadoopdir/dfs/data</value>
       </property>
       <property>
               <name>dfs.replication</name>
               <value>2</value>
        </property>
        <property>
                 <name>dfs.webhdfs.enabled</name>
                  <value>true</value>
         </property>
</configuration>
技術分享

    4.3 修改mapred-site.xml

技術分享
<configuration>         
<property> 
      <name>mapreduce.framework.name</name>
          <value>yarn</value>
           </property>
          <property>
                  <name>mapreduce.jobhistory.address</name>
                  <value>Master:10020</value>
          </property>
          <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>Master:19888</value>
       </property>
 <property>
                <name>mapreduce.jobtracker.http.address</name>
                <value>Master:50030</value>
       </property>
 <property>
                <name>mapred.job.tracker</name>
                <value>Master:9001</value>
       </property>
</configuration>
技術分享

    4.4 修改 yarn-site.xml

技術分享
<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
               <name>yarn.nodemanager.aux-services</name>
               <value>mapreduce_shuffle</value>
        </property>
        <property>                                                               
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
               <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
<property>
               <name>yarn.resourcemanager.hostname</name>
               <value>Master</value>
       </property>
        <property>
               <name>yarn.resourcemanager.address</name>
               <value>Master:8032</value>
       </property>
       <property>
               <name>yarn.resourcemanager.scheduler.address</name>
               <value>Master:8030</value>
       </property>
       <property>
            <name>yarn.resourcemanager.resource-tracker.address</name>
             <value>Master:8031</value>
      </property>
      <property>
              <name>yarn.resourcemanager.admin.address</name>
               <value>Master:8033</value>
       </property>
       <property>
               <name>yarn.resourcemanager.webapp.address</name>
               <value>Master:8088</value>
       </property>
</configuration>
技術分享

    4.5,修改 slaves文件

      技術分享

   5,搭建集群(普通用戶s)

     格式hadoop文件:hadoop namenode -format (最後出現“util.ExitUtil: Exiting with status 0”,表示成功)

     發送dfs內容給Slave1:scp -r /home/hadoopdir/dfs/* Slave1:/home/hadoopdir/dfs

    發給dfs內容給Slave2:scp -r /home/hadoopdir/dfs/* Slave2:/home/hadoopdir/dfs

     發送hadoop文件給數據節點:scp -r /usr/hadoop/* Slave1:/usr/hadoop/  scp -r /usr/hadoop/* Slave2:/usr/hadoop/

   6,啟動集群

    ./sbin/start-all.sh

      1,jps(centos 7 默認沒有,可以參照這裏安裝)查看:Master和Slave中分別出現如下所示:

      技術分享

技術分享

      2,離開安全模式(master): hadoop dfsadmin safemode leave

       查看結果:hadoop dfsadmin -report,如圖

技術分享

      3,登錄網頁查看:http://Master:50070 (查看live node) 查看yarn環境(http://Master/8088)

        技術分享

  (四) 參考網頁:

      1,Ubuntu16.04 完全分布式搭建Spark2.0

      2,Cetos6詳細搭建hadoop集群

      3,SSH集群搭建

      4,livenode 為0 異常匯總(我就是第二種情況)

Centos7完全分布式搭建Hadoop2.7.3