Zookeeper分布式集群搭建


 Zookeeper集群搭建

1.下載Zookeeper

從Zookeeper官網(http://zookeeper.apache.org/)下載Zookeeper

apache-zookeeper-3.6.0-bin.tar.gz

准備3台虛機(這里名稱為hadoop5,hadoop6,hadoop7),將安裝包上傳到一台虛機上

 

2.解壓

tar解壓到特定的文件夾中

[hadoop@hadoop5 install-pkg]$ tar zxvf apache-zookeeper-3.6.0-bin.tar.gz -C ../app

 

 3.修改配置

先進入Zookeeper文件目錄下的conf文件夾

[hadoop@hadoop5 conf]$ mv zoo_sample.cfg zoo.cfg //將zoo_sample.cfg修改為zoo.cfg將在里面進行配置

[hadoop@hadoop5 conf]$ vim zoo.cfg //修改配置信息
  • tickTime=2000 心跳間隔
  • initLimit=10 初始容忍的心跳數
  • syncLimit=5 等待最大容忍的心跳數
  • dataDir=/tmp/zookeeper 本地保存數據的目錄,tmp存放的臨時數據,可以修改為自己的目錄
  • clientPort=2181 客戶端默認端口號

其中主要修改 dataDir (這里我指定到了Zookeeper目錄下的data文件夾,后面會創建)

 

 然后在最后面添加,保存退出。

server.1=hadoop5:2888:3888 (主機名, 心跳端口、數據端口) server.2=hadoop6:2888:3888 server.3=hadoop7:2888:3888

 

4.創建data目錄

因為上一步 dataDir 指定了一個目錄,如果沒有那個data文件夾,所以需要創建對應目錄。

然后在data目錄創建一個文件myid,里面寫一個1:

echo 1 >> myid                   //這里的id對應上一步server.1

 

5.拷貝到其他兩台機器上

[hadoop@hadoop5 app]$ scp -r apache-zookeeper-3.6.0-bin/ hadoop6:/home/hadoop/app [hadoop@hadoop5 app]$ scp -r apache-zookeeper-3.6.0-bin/ hadoop7:/home/hadoop/app

 對應其他兩台機器去修改data目錄下的 myid 為  2  和  3 

 

 6.啟動Zookeeper

進入bin目錄,啟動Zookeeper,jps查看進程是否啟動(其他兩台機器用同樣的方式啟動)

[hadoop@hadoop5 bin]$ ./zkServer.sh start
[hadoop@hadoop5 bin]$ jps

 最后查看ZK的狀態:

[hadoop@hadoop5 bin]$ ./zkServer.sh status
 
        

 

7.一鍵啟動Zookeeper

由於去三台機器啟動Zookeeper太麻煩,所以可以編寫一個一鍵啟動腳本。

①首先先將Zookeeper配置到環境變量

vi /etc/profile

添加如下: #
---------------------zookeeper-------------------------- export ZOOKEEPER_HOME=/home/hadoop/app/apache-zookeeper-3.6.0-bin export PATH=$PATH:$ZOOKEEPER_HOME/bin #-------------------------------------------------------


保存
source /etc/profile

②編寫腳本

新建一個文件夾存放自己寫的腳本

編寫啟動腳本 zk-start.sh

#!/bin/bash echo "--------start zkServer------" echo "--hadoop5,hadoop6,hadoop7---"

for host in 5 6 7
        do ssh hadoop$host "source /etc/profile; /home/hadoop/app/apache-zookeeper-3.6.0-bin/bin/zkServer.sh start"
        if [$? -ne 0];then echo "$host zk failure"
                else echo "$host zk start successful" fi done

編寫停止腳本 zk-stop.sh

#!/bin/bash echo "--------start zkServer------" echo "--hadoop5,hadoop6,hadoop7---"

for host in 5 6 7
        do ssh hadoop$host "source /etc/profile; /home/hadoop/app/apache-zookeeper-3.6.0-bin/bin/zkServer.sh stop"
        if [$? -ne 0];then echo "$host zk stop failure"
                else echo "$host zk stop successful" fi done

③將啟動腳本加入到環境變量

vi /etc/profile

添加如下:
#---------------------my-scripts--------------------- export MY_SCRIPTS=/home/hadoop/my-scripts export PATH=$PATH:$MY_SCRIPTS #-----------------------------------------------------

保存

source /etc/profile

 

8.測試啟動

[hadoop@hadoop5 my-scripts]$ zk-start.sh

 

 啟動成功,再測試停止:

[hadoop@hadoop5 my-scripts]$ zk-stop.sh

 

 

 到此,Zookeeper集群搭建就完成了。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM