1. 程式人生 > >Centos安裝分散式Zookeeper

Centos安裝分散式Zookeeper

準備:修改hosts檔案(三臺虛擬機器)

    vim /etc/hosts

    192.168.59.130 centos.01

    192.168.59.131 centos.02

    192.168.59.132 centos.03

安裝前要安裝JDK

1、解壓壓縮包 ,並移動到opt資料夾下

tar -zxvf zookeeper-3.4.5-cdh5.10.0.tar.gz 
mv zookeeper-3.4.5.tar.gz /opt/zookeeper

2、修改配置檔案:

    修改datafile (不能放在臨時資料夾中,系統重啟臨時資料夾清空,需新建data資料夾)

    加入叢集配置

cd /usr/local/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg

新增內容: 
dataDir=/opt/zookeeper/data  (不能放在臨時資料夾中,需新建data資料夾)
dataLogDir=/opt/zookeeper/log(新建log資料夾,可不要!!!)
server.1=centos01:2888:3888 (主機名, 心跳埠、資料埠)
server.2=centos02:2888:3888(都是預設埠)
server.3=centos03:2888:3888(2888是leader和follow之間通訊,3888是投票選舉時用的埠)
建立資料夾
mkdir /usr/local/zookeeper/data
mkdir /usr/local/zookeeper/log

3、在data資料夾中建立myid檔案,內容為不能一致

cd data
vi myid
    新增內容:1
數字與conf配置的server.1,後面數字保持一致

4、複製其他伺服器中修改myid,

5、啟動和檢視狀態 每臺都需要單獨啟動

./zkService.sh start
./zkService.sh status

注意:啟動有問題可以檢視myid是否正確,和埠是否啟用

日誌中出現

java.net.ConnectException: Connection refused (Connection refused)

是由於ZooKeeper叢集啟動的時候,每個結點都試圖去連線叢集中的其它結點,先啟動的肯定連不上後面還沒啟動的,所以上面日誌前面部分的異常是可以忽略的。通過後面部分可以看到,叢集在選出一個Leader後,最後穩定了。 
其他結點可能也出現類似問題,屬於正常。