1. 程式人生 > >zookeeper 集群安裝和配置

zookeeper 集群安裝和配置

zookeeper

一、單機模式

1、解壓安裝

mv zookeeper-3.4.6.tar.gz /wls/ && tar zxvf zookeeper-3.4.6.tar.gz

cd /wls/zookeeper-3.4.6/conf && mv zoo_sample.cfg zoo.cfg

2、單機啟動

cd /wls/zookeeper-3.4.6/bin/ && zkServer.sh start

3、登陸zk

cd /wls/zookeeper-3.4.6/bin/ && ./zkCli.sh

二、集群模式

1、修改配置文件

cd /wls/zookeeper-3.4.6/conf && mv zoo.cfg z1.cfg

修改節點1 z1 配置文件

initLimit=10

syncLimit=5

clientPort=2187

tickTime=20000

maxClientCnxns=2000

minSessionTimeout=50000

maxSessionTimeout=90000

autopurge.purgeInterval=24

autopurge.snapRetainCount=5

dataDir=/wls/zookeeper-3.4.6/servers/z1/data

zoologdir=/wls/zookeeper-3.4.6/servers/z1/log

dataLogDir=/wls/zookeeper-3.4.6/servers/z1/datalog

server.1=30.4.92.49:8887:9887

server.2=30.4.92.49:8888:9888

server.3=30.4.92.49:8889:9889


修改節點2 z2 配置文件

initLimit=10

syncLimit=5

clientPort=2188

tickTime=20000

maxClientCnxns=2000

minSessionTimeout=50000

maxSessionTimeout=90000

autopurge.purgeInterval=24

autopurge.snapRetainCount=5

dataDir=/wls/zookeeper-3.4.6/servers/z2/data

zoologdir=/wls/zookeeper-3.4.6/servers/z2/log

dataLogDir=/wls/zookeeper-3.4.6/servers/z2/datalog

server.1=30.4.92.49:8887:9887

server.2=30.4.92.49:8888:9888

server.3=30.4.92.49:8889:9889


修改節點3 z3 配置文件

initLimit=10

syncLimit=5

clientPort=2189

tickTime=20000

maxClientCnxns=2000

minSessionTimeout=50000

maxSessionTimeout=90000

autopurge.purgeInterval=24

autopurge.snapRetainCount=5

dataDir=/wls/zookeeper-3.4.6/servers/z3/data

zoologdir=/wls/zookeeper-3.4.6/servers/z3/log

dataLogDir=/wls/zookeeper-3.4.6/servers/z3/datalog

server.1=30.4.92.49:8887:9887

server.2=30.4.92.49:8888:9888

server.3=30.4.92.49:8889:9889


2、修改日誌路徑

調整之後日誌路徑為 Dzookeeper.log.dir=/wls/zookeeper-3.4.6/servers/z1/log

vim /wls/zookeeper-3.4.6/bin/zkServer.sh ,ZOO_DATADIR後面新增一行ZOO_LOG_DIR

if [ -z "$ZOOPIDFILE" ]; then

ZOO_DATADIR="$(grep "^[[:space:]]*dataDir" "$ZOOCFG" | sed -e ‘s/.*=//‘)"

ZOO_LOG_DIR="$(grep "^[[:space:]]*zoologdir" "$ZOOCFG" | sed -e ‘s/.*=//‘)"

修改/wls/zookeeper-3.4.6/bin/zkEvn.sh文件,這樣zookeeper.log文件就會獨立,而不是和zookeeper.out一起

if [ "x${ZOO_LOG4J_PROP}" = "x" ]

then

ZOO_LOG4J_PROP="INFO,CONSOLE"

fi


改成

if [ "x${ZOO_LOG4J_PROP}" = "x" ]

then

ZOO_LOG4J_PROP="INFO,ROLLINGFILE"

fi

3、創建數據和日誌目錄

z1節點

mkdir -p /wls/zookeeper-3.4.6/servers/z1/data

mkdir -p /wls/zookeeper-3.4.6/servers/z1/log

mkdir -p /wls/zookeeper-3.4.6/servers/z1/datalog

echo 1 > /wls/zookeeper-3.4.6/servers/z1/data/myid


z2節點

mkdir -p /wls/zookeeper-3.4.6/servers/z2/data

mkdir -p /wls/zookeeper-3.4.6/servers/z2/log

mkdir -p /wls/zookeeper-3.4.6/servers/z2/datalog

echo 2 > /wls/zookeeper-3.4.6/servers/z2/data/myid


z3節點

mkdir -p /wls/zookeeper-3.4.6/servers/z3/data

mkdir -p /wls/zookeeper-3.4.6/servers/z3/log

mkdir -p /wls/zookeeper-3.4.6/servers/z3/datalog

echo 3 > /wls/zookeeper-3.4.6/servers/z3/data/myid


4、修改jvm 參數

在zkServer.sh文件的49行處加入 JVMPARAM="-Xms1G -Xmx1G"

在zkServer.sh文件的112行修改 -cp "$CLASSPATH" $JVMFLAGS $JVMPARAM $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &

5、修改jmxremote參數

在zkServer.sh文件 修改 ZOOMAIN="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=$JMXLOCALONLY org.apache.zookeeper.server.quorum.QuorumPeerMain" 為

ZOOMAIN=" -Dcom.sun.management.jmxremote.ssl=false org.apache.zookeeper.server.quorum.QuorumPeerMain"


6、修改最大數據量,zookeeper默認對每個結點的最大數據量有一個上限是1M,如果你要設置的配置數據大於這個上限將無法寫法,增加-Djute.maxbuffer=10240000參數

在zkEnv.sh文件最後添加一行 -Djute.maxbuffer=10240000


7、啟動服務

/wls/zookeeper-3.4.6/bin/zkServer.sh start ../conf/z1.cfg

/wls/zookeeper-3.4.6/bin/zkServer.sh start ../conf/z2.cfg

/wls/zookeeper-3.4.6/bin/zkServer.sh start ../conf/z3.cfg


8、查看狀態

/wls/zookeeper-3.4.6/bin/zkServer.sh status ../conf/z1.cfg


9、關閉服務

/wls/zookeeper-3.4.6/bin/zkServer.sh stop ../conf/z1.cfg

/wls/zookeeper-3.4.6/bin/zkServer.sh stop ../conf/z2.cfg

/wls/zookeeper-3.4.6/bin/zkServer.sh stop ../conf/z3.cfg


zookeeper 集群安裝和配置