1. 程式人生 > 其它 >centos 安裝zookeeper叢集

centos 安裝zookeeper叢集

ZooKeeper 的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的介面和效能高效、功能穩定的系統提供給使用者。

防止單點故障:ZooKeeper群架通常有2n+1臺Server組成,每臺Server都知道彼此的存在。對於2n+1臺Server,只要有n+1(即一般以上)Server可用,整個叢集就保持可用。當然,單個ZooKeeper也可以搭建,只是沒有了高可用的特性。

本次安裝3臺虛擬機器測試

1、安裝jdk

#解壓檔案到/usr/local

#tar -zxvf jdk-8u131-linux-x64.gz -C /usr/local

#修改環境變數

#vi /etc/profile

在檔案末尾加上下邊內容:

#set java environment
JAVA_HOME=/usr/local/jdk1.8.0_131
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH PATH

#生效

#source /etc/profile

2、安裝zookeeper

下載地址:http://archive.apache.org/dist/zookeeper/

本次測試安裝:apache-zookeeper-3.8.0-bin.tar.gz

建立資料和日誌目錄

#mkdir -p /home/zookeeper/data

#mkdir -p /home/zookeeper/data

#解壓檔案到/usr/local

#tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz -C /usr/local/

#編輯配置檔案

#cd /usr/local/apache-zookeeper-3.8.0-bin/conf/ 

#cp zoo_sample.cfg zoo.cfg

#備份 zoo_sample.cfg為 zoo_sample.cfg.bak,不能用兩個cfg檔案,否則啟動失敗

#mv zoo_sample.cfg zoo_sample.cfg

#vi zoo.cfg

主要資訊:

tickTime=2000

initLimit=10
syncLimit=5
#資料目錄和日誌目錄,這個要提前建立  zookeeper不會幫建立的,不建立會報錯


dataDir=/home/zookeeper/data
dataLogDir=/home/zookeeper/logs
# 客戶埠,建議修改,不使用預設
clientPort=2181

#server 叢集地址
server.1=192.168.59.102:2888:3888
server.2=192.168.59.103:2888:3888
server.3=192.168.59.104:2888:3888

 建立myid

#進入配置好的資料檔案目錄

#cd /home/zookeeper/data

#建立

#echo 1 > myid

myid檔案中只有一個數字,即一個Server ID。例如,server.1 的myid檔案內容就是“1”。

注意,請確保每個server的myid檔案中id數字不同,並且和server.id=host:port:port中的id一致。id的範圍是1~255

以上是第一個伺服器的安裝,再另外安裝2臺

重複以上步驟,只有myid檔案不一樣

#echo 2 > myid

#echo 3 > myid

 3、驗證:

3臺虛擬機器安裝之後

啟動服務:

#/usr/local/apache-zookeeper-3.8.0-bin/bin/zkServer.sh start

102:

103:

104:

4、測試

關閉103的服務

 102還是follower:

 104成為新的leader: