生命无罪,健康万岁,我是laity。
我曾七次鄙视自己的灵魂:
第一次,当它本可进取时,却故作谦卑;
第二次,当它在空虚时,用爱欲来填充;
第三次,在困难和容易之间,它选择了容易;
第四次,它犯了错,却借由别人也会犯错来宽慰自己;
第五次,它自由软弱,却把它认为是生命的坚韧;
第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;
第七次,它侧身于生活的污泥中,虽不甘心,却又畏首畏尾。
Docker安装ZK
- 查看本地镜像和检索拉取Zookeeper 镜像
# 查看本地镜像docker images
# 检索ZooKeeper 镜像docker search zookeeper
# 拉取ZooKeeper镜像最新版本docker pull zookeeper:latest
# 我使用的版本docker pull zookeeper:3.5.7
- 创建ZooKeeper 挂载目录(数据挂载目录、配置挂载目录和日志挂载目录)
mkdir -p /mydata/zookeeper/data # 数据挂载目录
mkdir -p /mydata/zookeeper/conf # 配置挂载目录
mkdir -p /mydata/zookeeper/logs # 日志挂载目录
- 启动ZooKeeper容器
docker run -d--name zookeeper --privileged=true -p2181:2181 -v /mydata/zookeeper/data:/data -v /mydata/zookeeper/conf:/conf -v /mydata/zookeeper/logs:/datalog zookeeper:3.5.7
- 参数说明
-eTZ="Asia/Shanghai"# 指定上海时区 -d# 表示在一直在后台运行容器-p2181:2181 # 对端口进行映射,将本地2181端口映射到容器内部的2181端口--name# 设置创建的容器名称-v# 将本地目录(文件)挂载到容器指定目录;--restart always #始终重新启动zookeeper,看需求设置不设置自启动
- 添加ZooKeeper配置文件,在挂载配置文件目录(/mydata/zookeeper/conf)下,新增zoo.cfg 配置文件,配置内容如下:
dataDir=/data # 保存zookeeper中的数据clientPort=2181# 客户端连接端口,通常不做修改dataLogDir=/datalog
tickTime=2000# 通信心跳时间initLimit=5# LF(leader - follower)初始通信时限syncLimit=2# LF 同步通信时限autopurge.snapRetainCount=3autopurge.purgeInterval=0maxClientCnxns=60standaloneEnabled=true
admin.enableServer=true
server.1=localhost:2888:3888;2181
- 进入容器内部,验证容器状态
# 进入zookeeper 容器内部dockerexec-it zookeeper /bin/bash
# 检查容器状态dockerexec-it zookeeper /bin/bash ./bin/zkServer.sh status
# 进入控制台dockerexec-it zookeeper zkCli.sh
- 安装ZooInspector客户端连接
下载地址:https://issues.apache.org/jira/secure/attachment/12436620/ZooInspector.zip;
命令:
java -jar zookeeper-dev-ZooInspector.jar
遇到的问题:WARNING: IPv4 forwarding is disabled. Networking will not work
解决办法:
# vi /etc/sysctl.conf
或者
# vi /usr/lib/sysctl.d/00-system.conf
添加如下代码:
net.ipv4.ip_forward=1
重启network服务
# systemctl restart network
测试
dockerexec-it zookeeper zkCli.sh
关于zookeeper操作详细介绍的文章
Docker安装Zookeeper集群
- 准备三台机器互相ping通
- 配置文件zoo.cfg
cd /mydata/zookeeper/conf
vim zoo.cfg
# 三台机器分别执行添加 clientPort=2181dataDir=/data
dataLogDir=/data/log
tickTime=2000initLimit=5syncLimit=2autopurge.snapRetainCount=3autopurge.purgeInterval=0maxClientCnxns=60server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
- 设置myid标识
echo1> /mydata/zookeeper/conf/myid
1、2、3 三台机器分别执行
zookeeper选举也会根据myid的大小进行投票master
版权归原作者 itLaity 所有, 如有侵权,请联系我们删除。