1、安装zookeeper

IP角色备注
192.168.11.192server节点1
192.168.11.193server节点2
192.168.11.194server,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

更多推荐