1.zookeeper集群安裝

1、準(zhǔn)備

1.1、準(zhǔn)備三臺(tái)主機(jī)

zookeeper集群主機(jī)數(shù)建議是奇數(shù)2n+1,因此最少3臺(tái)。

主機(jī)名 主機(jī)ip
learn1 192.168.31.200
learn2 192.168.31.201
learn3 192.168.31.202

1.2、安裝jdk

安裝jdk8,并且配置JAVA_HOME

1.3、下載zookeeper

從官網(wǎng)上下載zookeeper,https://zookeeper.apache.org/
我本次下載版本:apache-zookeeper-3.7.0-bin.tar.gz

2、安裝第一臺(tái)

2.1、部署zookeeper

(1)上傳zookeeper,并解壓

$ cd /home/wentian/app/zookeeper
$ tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz

(2)創(chuàng)建軟連接

$ cd /home/wentian/app/zookeeper
$ ln -s apache-zookeeper-3.7.0-bin zookeeper3

注:通過軟連接方式,是將來如果需要升級(jí)zookeeper等,直接改軟連接重新指向即可。

2.2、創(chuàng)建實(shí)例目錄

$ mkdir -p /home/wentian/zookeeper
$ cd /home/wentian/zookeeper
$ mkdir data     #數(shù)據(jù)目錄
$ mkdir log       #日志目錄
$ mkdir sh        #腳本目錄
$ mkdir conf     #配置目錄

2.3、配置

(1)從zookeeper樣例配置文件拷貝

$ cd /home/wentian/app/zookeeper/zookeeper3/conf
$ cp zoo_sample.cfg /home/wentian/zookeeper/conf/zoo.cfg

(2)修改配置文件zoo.cfg

tickTime=2000
initLimit=10
syncLimit=5

dataDir=/home/wentian/zookeeper/data
clientPort=2181
maxClientCnxns=600
#autopurge.snapRetainCount=3
#autopurge.purgeInterval=1
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true

server.1=192.168.31.200:2188:3188
server.2=192.168.31.201:2188:3188
server.3=192.168.31.202:2188:3188

其中
server配置說明:

格式:server.x=ip:port1:port2
x:服務(wù)器編號(hào)myid
ip:服務(wù)器ip地址
port1:服務(wù)器與集群中的 Leader 服務(wù)器交換信息的端口
port2:Leader服務(wù)器掛了,通過該端口重新選舉Leader

(3)配置服務(wù)器myid
在dataDir目錄下配置myid,該myid就是上面server.x中的x

$ cd /home/wentian/zookeeper/data
$ touch myid
$ echo "1" > myid

2.4、創(chuàng)建腳本

(1)啟動(dòng)腳本
/home/wentian/zookeeper/sh/start.sh

WORK_HOME=/home/wentian/zookeeper
ZOOKEEPER_HOME=/home/wentian/app/zookeeper/zookeeper3
export ZOO_LOG_DIR=${WORK_HOME}/log
export JVMFLAGS="-Dtarget=zookeeper"
export JAVA_HOME=/home/wentian/app/java/jdk8

${ZOOKEEPER_HOME}/bin/zkServer.sh start ${WORK_HOME}/conf/zoo.cfg

(2)停止腳本
/home/wentian/zookeeper/sh/stop.sh

WORK_HOME=/home/wentian/zookeeper
ZOOKEEPER_HOME=/home/wentian/app/zookeeper/zookeeper3
export ZOO_LOG_DIR=${WORK_HOME}/log

${ZOOKEEPER_HOME}/bin/zkServer.sh stop ${WORK_HOME}/conf/zoo.cfg

(3)狀態(tài)查看腳本
/home/wentian/zookeeper/sh/status.sh

WORK_HOME=/home/wentian/zookeeper
ZOOKEEPER_HOME=/home/wentian/app/zookeeper/zookeeper3
export ZOO_LOG_DIR=${WORK_HOME}/log

${ZOOKEEPER_HOME}/bin/zkServer.sh status ${WORK_HOME}/conf/zoo.cfg

(4)zookeeper訪問腳本
/home/wentian/zookeeper/sh/visit.sh

ZOOKEEPER_HOME=/home/wentian/app/zookeeper/zookeeper3

${ZOOKEEPER_HOME}/bin/zkCli.sh -server 192.168.31.200:2181,192.168.31.201:2181,192.168.31.202:2181

3、繼續(xù)安裝其他兩臺(tái)

除了配置服務(wù)器編號(hào)myid不同以外,其他都相同

4、啟動(dòng)zookeeper

依次啟動(dòng)三臺(tái)zookeeper

$ sh /home/wentian/zookeeper/sh/start.sh

5、查查看zookeeper實(shí)例的狀態(tài)

執(zhí)行status.sh,查看zookeeper實(shí)例狀態(tài)

$ sh /home/wentian/zookeeper/sh/status.sh

zookeeper實(shí)例狀態(tài)查看結(jié)果:
機(jī)器1:

[wentian@learn1 sh]$ sh status.sh
/home/wentian/app/java/jdk8/bin/java
ZooKeeper JMX enabled by default
Using config: /home/wentian/zookeeper/conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

機(jī)器2:

[wentian@learn2 sh]$ sh status.sh
/home/wentian/app/java/jdk8/bin/java
ZooKeeper JMX enabled by default
Using config: /home/wentian/zookeeper/conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader

機(jī)器3:

[wentian@learn3 sh]$ sh status.sh
/home/wentian/app/java/jdk8/bin/java
ZooKeeper JMX enabled by default
Using config: /home/wentian/zookeeper/conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容