zookeeper集群部署

官方文档: zookeeper.apache.org

salt  'zk*' cmd.run 'cd /application && tar xf /root/zookeeper-3.4.9.tar.gz'
salt  'zk*' cmd.run 'cd /application && tar xf /root/jdk-8u131-linux-x64.tar.gz'
salt 'zk*' cmd.run 'mkdir -p /application/ /data/zk/data/'
salt-cp 'zk*' /root/zoo.cfg /application/zk/conf/

配置文件

[root@manager files]# egrep -v "^#|^$" zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zk/data
clientPort=2181
server.1=10.0.0.101:2881:3881
server.2=10.0.0.102:2882:3882
server.3=10.0.0.103:2883:3883
server.4=10.0.0.104:2884:3884
server.5=10.0.0.105:2885:3885

需要在每台节点的dataDir下创建一个myid的文件。

id=[1,2,3,4,5]
dataDir=/data/zk/data
echo ${id} > ${dataDir}/myid

根据官方建议设置最大堆内存为3G,

这个文件默认不存在,需要手动创建。

salt-cp 'zk*' /root/zookeeper-env.sh /application/zk/conf/
[root@manager files]# cat zookeeper-env.sh
JVMFLAGS="-Xms3072m -Xmx3072m"

启动zk

salt 'zk*' cmd.run '. /etc/profile && /application/zk/bin/zkServer.sh start'
salt 'zk*' cmd.run '. /etc/profile && /application/zk/bin/zkServer.sh status'

伪集群启动脚本

#!/bin/bash

for i in 1 2 3 4 5 ;do
    case $1 in
        stop) :;;
        start) :;;
        status) :;;
        *) echo $"Usage: $0 { stop | start | status }" && break;;
    esac
    /application/zk/bin/zkServer.sh $1 /application/zk/conf/zk${i}.cfg
    echo ""
    sleep 0.5
done

连接zk

/application/zk/bin/zkCli.sh -server10.0.0.101:2181

配置zk

[zk: localhost:2181(CONNECTED) 15] create /application 123


[zk: localhost:2181(CONNECTED) 20] create /app/system "83b3f4fsha1dbxxxxxxx4bxx3b1b""
Created /application/itfin-system
原文地址:https://www.cnblogs.com/Csir/p/8391180.html