1. 程式人生 > >搭建Zookeeper叢集模式

搭建Zookeeper叢集模式

是在搭建HA_hadoop(高可用)叢集的基礎上進行的

1、下載zookeeper3.4.6   ------點選超連結

2、上傳到叢集

3、然後解壓

$ tar -zxvf zookeeper-3.4.6.tar.gz

4、建立軟連線

$ ln -s /home/betty/soft/zookeeper-3.4.6 /home/betty/soft/zoo

5、將解壓後的zookeeper傳送給其他機器

$ scp -r /home/betty/soft/zookeeper-3.4.6 [email protected]

:/home/betty/soft/

$ scp -r /home/betty/soft/zookeeper-3.4.6 [email protected]:/home/betty/soft/

6、 配置環境變數

$ vi ~/.bashrc

【JAVA_HOME=/home/betty/soft/jdk
HADOOP_HOME=/home/betty/soft/hadoop
ZOOKEEPER_HOME=/home/betty/soft/zoo
PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin
export JAVA_HOME PATH

7、將配置環境變數之後的.bashrc檔案傳送給其他機器。

$ scp ~/.bashrc [email protected]:~/.bashrc

$ scp ~/.bashrc [email protected]:~/.bashrc

並且使環境變數生效------------每臺機器都要執行

$ source ~/.bashrc

8、配置zoo.cfg

在/home/betty/soft/zoo/conf目錄下

$ cp zoo_sample.cfg zoo.cfg

修改zoo.cfg檔案

$ vi /home/betty/soft/zoo/conf/zoo.cfg

配置內容為:

        tickTime=2000
        dataDir=/home/hyxy/soft/tmp/zookeeper
        clientPort=2181
        initLimit=5
        syncLimit=2
        server.1=master:2888:3888
        server.2=slave1:2888:3888
        server.3=slave2:2888:3888 

9、 傳送給另外兩臺機器。

$ scp zoo.cfg [email protected]/home/betty/soft/zoo/conf/zoo.cfg

$ scp zoo.cfg [email protected]:/home/betty/soft/zoo/conf/zoo.cfg

10、每臺機器執行一次

$ zkServer.sh start

11、 在dataDir=/home/betty/soft/tmp/zookeeper下執行------三臺機器都需要執行。

====>dog1     $ echo "1" >> myid   -------  注意1是配置檔案中給的id   server.1=dog1:2888:3888

====>dog2     $ echo "2" >> myid

====>dog3     $ echo "3" >> myid

12、再次在每臺機器上執行

$ zkServer.sh start

並且驗證是否可用

$ zkCli.sh

13、複製一份HA配置檔案做自動容災(etc/hadoop) ----------所有機器都需要執行下面操作。

$ cp -r HA_hadoop auto_hadoop

$ rm hadoop --------------刪除軟連線。

$ ln -s auto_hadoop hadoop --------------重新建立指向auto_hadoop的軟連線。

14、修改配置檔案。

hdfs-site.xml

<property>
       <name>dfs.ha.automatic-failover.enabled</name>
       <value>true</value>
     </property>

$ vim /home/betty/soft/hadoop/etc/hadoop/hdfs-site.xml

 core-site.xml

 <property>
       <name>ha.zookeeper.quorum</name>
       <value>dog1:2181,dgo2:2181,dog3:2181</value>
     </property>

$ vim /home/betty/soft/hadoop/etc/hadoop/core-site.xml  

15、 傳送給其他機器

$ scp hdfs-site.xml [email protected]:/home/betty/soft/hadoop/etc/hadoop/hdfs-site.xml

$ scp hdfs-site.xml [email protected]:/home/betty/soft/hadoop/etc/hadoop/hdfs-site.xml

$ scp core-site.xml [email protected]:/home/betty/soft/hadoop/etc/hadoop/core-site.xml

$ scp core-site.xml [email protected]:/home/betty/soft/hadoop/etc/hadoop/core-site.xml

16、 在一臺namenode所在節點執行如下命令

$ hdfs zkfc -formatZK

17、檢視是否全部啟動

8240 Jps
7539 QuorumPeerMain
8164 DFSZKFailoverController
7974 JournalNode
7788 DataNode
7678 NameNode
】 

18、檢視50070埠,殺死其中活躍的節點,檢視備用節點是否轉為活躍