zookeeper集群搭建

2019年6月5日10:28:19 發(fā)表評論 4,149 ℃

參考官方文檔:https://zookeeper.apache.org/doc/r3.4.14/zookeeperStarted.html#sc_Download

前提:部署好java環(huán)境

一、單機部署

1、下載官網(wǎng)文檔版安裝包

#wget http://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-3.4.14.tar.gz

#tar zxf zookeeper-3.4.14.tar.gz -C /data/app/zookeeper


2、配置文件配置

#mkdir -pv /data/data/zookeeper/{data,logs}

#cd /data/app/zookeeper/conf

#cp zoo_sample.cfg zoo.cfg

#cat zoo.cfg      #創(chuàng)建配置文件

tickTime=2000

dataDir=/data/data/zookeeper/data

clientPort=2181

tickTime:ZooKeeper使用的基本時間單位(以毫秒為單位)。它用于做心跳,最小會話超時將是tickTime的兩倍。

dataDir:存儲內(nèi)存數(shù)據(jù)庫快照的位置,除非另有說明,否則為數(shù)據(jù)庫更新的事務(wù)日志。

clientPort:偵聽客戶端連接的端口


3、啟動測試

#useradd  -M -s /sbin/nologin zookeeper

#chown -R zookeeper.zookeeper /data/app/zookeeper /data/data/zookeeper

以普通用戶啟動腳本

#!/bin/bash
zkFile='/data/app/zookeeper/bin/zkServer.sh'
cd /data/app/zookeeper/bin/
case $1 in
    start)
        su zookeeper -s /bin/bash -c "${zkFile} start"  ;;
    stop)
        ${zkFile} stop ;;
    restart)
        ${zkFile} stop
        su zookeeper -s /bin/bash -c "${zkFile} start"  ;;
    status)
        ${zkFile} status;;
    upgrade)
        ${zkFile} upgrade;;
    print-cmd)
        ${zkFile} print-cmd;;
    start-foreground)
        ${zkFile} start-foreground;;
    *)
        echo "參數(shù)錯誤!" ;;
esac


二、單機偽集群部署

先按照單機部署步驟,先下載解壓程序文件。

1、創(chuàng)建配置文件

#cd /data/app/zookeeper/conf

#cat zoo1.cfg

tickTime=2000

initLimit=5

syncLimit=2

dataDir=/data/data/zookeeper1/data

clientPort=2181

dataLogDir=/data/data/zookeeper1/logs

server.1=localhost:2887:3887

server.2=localhost:2888:3888

server.3=localhost:2889:3889

#cat zoo2.cfg

tickTime=2000

initLimit=5

syncLimit=2

dataDir=/data/data/zookeeper2/data

clientPort=2182

dataLogDir=/data/data/zookeeper2/logs

server.1=localhost:2887:3887

server.2=localhost:2888:3888

server.3=localhost:2889:3889

#cat zoo3.cfg

tickTime=2000

initLimit=5

syncLimit=2

dataDir=/data/data/zookeeper3/data

clientPort=2183

dataLogDir=/data/data/zookeeper3/logs

server.1=localhost:2887:3887

server.2=localhost:2888:3888

server.3=localhost:2889:3889


2.創(chuàng)建數(shù)據(jù)文件夾和日志文件夾

#mkdir -pv /data/data/zookeeper{1..3}/{data,logs}

#echo "1" > /data/data/zookeeper1/data/myid

#echo "2" > /data/data/zookeeper2/data/myid

#echo "3" > /data/data/zookeeper3/data/myid

#chown -R zookeeper.zookeeper /data/app/zookeeper /data/data/zookeeper*


3、創(chuàng)建普通用戶啟動腳本

#!/bin/bash
zkFile='/data/app/zookeeper/bin/zkServer.sh'
confFile='/data/app/zookeeper/conf'
cd /data/app/zookeeper/bin/
case $1 in
    start)
        su zookeeper -s /bin/bash -c "${zkFile} start ${confFile}/${2}"  ;;
    stop)
        ${zkFile} stop ${confFile}/${2};;
    restart)
        ${zkFile} stop ${confFile}/${2}
        su zookeeper -s /bin/bash -c "${zkFile} start ${confFile}/${2}"  ;;
    status)
        ${zkFile} status ${confFile}/${2};;
    upgrade)
        ${zkFile} upgrade ${confFile}/${2};;
    print-cmd)
        ${zkFile} print-cmd ${confFile}/${2};;
    start-foreground)
        ${zkFile} start-foreground ${confFile}/${2};;
    *)
        echo "參數(shù)錯誤!" ;;
esac

#  ./zk-cluster.sh start zoo2.cfg

#  ./zk-cluster.sh start zoo1.cfg

#  ./zk-cluster.sh start zoo3.cfg


4、測試

# ./zkCli.sh -server 127.0.0.1:2183

[zk: 127.0.0.1:2183(CONNECTED) 4] create /test test123

Created /test

[zk: 127.0.0.1:2183(CONNECTED) 5] quit

# ./zkCli.sh -server 127.0.0.1:2181

[zk: 127.0.0.1:2181(CONNECTED) 0] ls /

[zookeeper, test]

[zk: 127.0.0.1:2181(CONNECTED) 1] get /test

test123

cZxid = 0x400000004

ctime = Mon Apr 29 14:17:49 CST 2019

mZxid = 0x400000004

mtime = Mon Apr 29 14:17:49 CST 2019

pZxid = 0x400000004

cversion = 0

dataVersion = 0

aclVersion = 0

ephemeralOwner = 0x0

dataLength = 7

numChildren = 0


三、多服務(wù)器集群部署(至少三臺服務(wù)器)

1、每臺服務(wù)器按照步驟一的安裝部署下載解壓,然后配置文件更改為:

#cat zoo.cfg

tickTime=2000

initLimit=5

syncLimit=2

dataDir=/data/data/zookeeper/data

clientPort=2181

dataLogDir=/data/data/zookeeper/logs

server.1=172.16.2.5:2888:3888

server.2=172.16.2.6:2888:3888

server.3=172.16.2.7:2888:3888


2、創(chuàng)建文件和文件夾

數(shù)據(jù)文件夾、日志文件夾、myid文件


3、使用步驟一單機普通用戶啟動腳本分別啟動每個服務(wù)器的服務(wù)。

【騰訊云】云服務(wù)器、云數(shù)據(jù)庫、COS、CDN、短信等云產(chǎn)品特惠熱賣中

發(fā)表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: