docker部暑zookeeper集群(支持amd64和arm64)
·
1、安装zookeeper
| IP | 角色 | 备注 |
|---|---|---|
| 192.168.11.192 | server | 节点1 |
| 192.168.11.193 | server | 节点2 |
| 192.168.11.194 | server,client,ui | 节点3 |
# 节点1
mkdir -p /data/zookeeper/{data,conf,log}
echo '192' > /data/zookeeper/data/myid
cat > /data/zookeeper/conf/zoo.cfg << 'EOF'
clientPort=2181
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/log
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.192=192.168.11.192:2888:3888
server.193=192.168.11.193:2888:3888
server.194=192.168.11.194:2888:3888
EOF
cat > /data/zookeeper/startup.sh << 'EOF'
docker run -d \
--network host \
--restart=always \
-v /data/zookeeper/data:/data/zookeeper/data \
-v /data/zookeeper/conf:/conf \
-v /etc/localtime:/etc/localtime \
--name zookeeper \
zookeeper:3.4.13
EOF
bash /data/zookeeper/startup.sh
# 节点2
mkdir -p /data/zookeeper/{data,conf,log}
echo '193' > /data/zookeeper/data/myid
cat > /data/zookeeper/conf/zoo.cfg << 'EOF'
clientPort=2181
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/log
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.192=192.168.11.192:2888:3888
server.193=192.168.11.193:2888:3888
server.194=192.168.11.194:2888:3888
EOF
cat > /data/zookeeper/startup.sh << 'EOF'
docker run -d \
--network host \
--restart=always \
-v /data/zookeeper/data:/data/zookeeper/data \
-v /data/zookeeper/conf:/conf \
-v /etc/localtime:/etc/localtime \
--name zookeeper \
zookeeper:3.4.13
EOF
bash /data/zookeeper/startup.sh
# 节点3
mkdir -p /data/zookeeper/{data,conf,log}
echo '194' > /data/zookeeper/data/myid
cat > /data/zookeeper/conf/zoo.cfg << 'EOF'
clientPort=2181
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/log
tickTime=2000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.192=192.168.11.192:2888:3888
server.193=192.168.11.193:2888:3888
server.194=192.168.11.194:2888:3888
EOF
cat > /data/zookeeper/startup.sh << 'EOF'
docker run -d \
--network host \
--restart=always \
-v /data/zookeeper/data:/data/zookeeper/data \
-v /data/zookeeper/conf:/conf \
-v /etc/localtime:/etc/localtime \
--name zookeeper \
zookeeper:3.4.13
EOF
bash /data/zookeeper/startup.sh
#查询zookeeper状态
docker exec -i zookeeper zkServer.sh status
zkui管理工具
mkdir -p /data/zkui/work
cat > /data/zkui/startup.sh << 'EOF'
docker run -d \
--name zkui \
--restart=always \
-e ZK_SERVER=192.168.11.192:2181,192.168.11.193:2181,192.168.11.194:2181 \
-v /etc/localtime:/etc/localtime \
-p 9090:9090 \
juris/zkui
EOF
bash /data/zkui/startup.sh
http://192.168.11.193:9090
用户名:admin/manager

zookeeper 设置Acl
#命令行连接zk
zkCli.sh -server 127.0.0.1:2181
#查看节点
ls /
[clickhouse, kafka, zookeeper]
#查看Acl设置
getAcl /path
#添加帐密
#addauth digest 用户名:密码明文
addauth digest user1:password1
#设置权限
setAcl /path auth:用户名:密码明文:权限
setAcl /test auth:user1:password1:cdrwa
#方法二
#setAcl /path digest:用户名:密码密文:权限
setAcl /nodeDigest digest:admin:0uek/hZ/V9fgiM35b0Z2226acMQ=:rwdca
注:这里的加密规则是SHA1加密,然后base64编码。
#加密密码生成命令
echo -n admin:123456 | openssl dgst -binary -sha1 | openssl base64
#只是这里的密码要使用加密后的密码,不能使用铭文密码
# 取消设置数据权限
setAcl /node1 world:anyone:cda
create /nodeDigest "nodeDigest"
setAcl /nodeDigest digest:admin:0uek/hZ/V9fgiM35b0Z2226acMQ=:rwdca
getAcl /nodeDigest
get /nodeDigest
#登录验证
addauth digest admin:123456
getAcl /nodeDigest
get /nodeDigest
create /nodeManyAcl "nodeManyAcl"
addauth digest admin:123456
setAcl /nodeManyAcl ip:10.30.196.3:rdca,auth:admin:rwdca,digest:admin:0uek/hZ/V9fgiM35b0Z2226acMQ=:rwdca
getAcl /nodeManyAcl
更多推荐



所有评论(0)