1. 程式人生 > >配置Zookeeper元件的步驟和講解-- 叢集模式

配置Zookeeper元件的步驟和講解-- 叢集模式

自動容災(自動故障轉移):需要在HDFS部署環境中配置兩個元件:
            1.Zookeeper叢集

           2.ZKFC:zookeeper FailoverController process :
            zookeeper是客戶端

  zookeeper叢集模式 

                  2.修改~/soft/zookeeper/zoo.cfg檔案: (現在master主機上)
                               $>gedit   zoo.cfg
                               修改:

 a.[修改zoo.cfg檔案]:
    tickTime=2000
	initLimit=10
	syncLimit=5
	dataDir=/home/hyxy/tmp/zookeeper
	clientPort=2181  //客戶端提交的埠號
	server.1=master:2888:3888  //服務端提交的埠號
	server.2=slave1:2888:3888
	server.3=slave2:2888:3888
	三個節點都要改!
  
  b.在/home/hyxy/tmp/zookeeper目錄下,建立myid檔案
        $>echo "1" >> myid    //在master節點
	    $>echo "2" >> myid    //在slave1節點
        $>echo "3" >> myid    //在slave2節點    

                 3.分發到其他節點上:slave1,slave2
                               $>scp -r  zookeeper  [email protected]: ~/soft/
                               $>scp -r  zookeeper   [email protected]: ~/soft /
                 4. 將master配置的  ~/.bash_profile  環境變數    ,分發至slave1,slave2
                              $>scp    ~/.bash_profile   

[email protected]:~/ .bash_profile
                              $>scp    ~/.bash_profile   [email protected]:~/.bash_profile  

                 5.第四步之後,需要  分別在slave1,slave2分別 使分發的環境變數生效,
                                $> source  .bash_profile   
                                測試:$> cd $ZOOKEEPER_HOME

                6.修改配置檔案:hdfs-site.xml 和 core-site.xml
                 

  【修改hdfs-site.xml】
         <property>
	             <name>dfs.ha.automatic-failover.enabled</name>
	             <value>true</value>   //是否自動容災
	     </property>

   【修改core-site.xml】
         <property>
	            <name>ha.zookeeper.quorum</name>
	            <value>master:2181,slave1:2181,slave2:2181</value>
	    </property>
	 

            7.將配置檔案分發至salve1,slave2節點上
              slave1:          $>scp  hdfs-site.xml  [email protected]:~/soft/hadoop/etc/hadoop_cluster_ha/
                                   $>scp  core-site.xml  [email protected]:~/soft /hadoop/etc/hadoop_cluster_ha/
              slave2:          $>scp  hdfs-site.xml  [email protected]:~/soft/hadoop/etc/hadoop_cluster_ha/
                                   $>scp  core-site.xml  [email protected]:~/soft /hadoop/etc/hadoop_cluster_ha/


    注意:要保證三臺機器的hadoop_cluster_ha、環境變數.bash_profile、             ~/soft/zookeeper/conf/zoo.cfg的檔案等要一樣!!!!

       8.格式化zk
                   $>hdfs zkfc -formatZK
                   說明:將在Zookeeper的樹狀節點上註冊一個Znode
      9..確保zookeeper叢集是開啟狀態:zkServer.sh start
                   $>jps
                               5458 QuorumPeerMain           
     10.start-dfs.sh 
     11.測試:
                  將active的節點kill掉,檢視另一個節點狀態(master:50070,slave:50070);會發現自動從standby 變成active活動狀態,
          說明自動容災(故障自動轉移)zookeeper配置成功。