Docker安装Zookeeper教程(超详细)
生命无罪,健康万岁,我是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 -p 2181:2181 -v /mydata/zookeeper/data:/data -v /mydata/zookeeper/conf:/conf -v /mydata/zookeeper/logs:/datalog zookeeper:3.5.7
- 参数说明
-e TZ="Asia/Shanghai" # 指定上海时区 -d # 表示在一直在后台运行容器 -p 2181: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=3 autopurge.purgeInterval=0 maxClientCnxns=60 standaloneEnabled=true admin.enableServer=true server.1=localhost:2888:3888;2181
- 进入容器内部,验证容器状态
# 进入zookeeper 容器内部 docker exec -it zookeeper /bin/bash # 检查容器状态 docker exec -it zookeeper /bin/bash ./bin/zkServer.sh status # 进入控制台 docker exec -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
测试
docker exec -it zookeeper zkCli.sh
关于zookeeper操作详细介绍的文章
Docker安装Zookeeper集群
- 准备三台机器互相ping通
- 配置文件zoo.cfg
cd /mydata/zookeeper/conf vim zoo.cfg # 三台机器分别执行添加 clientPort=2181 dataDir=/data dataLogDir=/data/log tickTime=2000 initLimit=5 syncLimit=2 autopurge.snapRetainCount=3 autopurge.purgeInterval=0 maxClientCnxns=60 server.1=node1:2888:3888 server.2=node2:2888:3888 server.3=node3:2888:3888
- 设置myid标识
echo 1 > /mydata/zookeeper/conf/myid 1、2、3 三台机器分别执行 zookeeper选举也会根据myid的大小进行投票master
- 设置myid标识
- 安装ZooInspector客户端连接
- 进入容器内部,验证容器状态
- 添加ZooKeeper配置文件,在挂载配置文件目录(/mydata/zookeeper/conf)下,新增zoo.cfg 配置文件,配置内容如下:
- 参数说明
- 启动ZooKeeper容器
- 创建ZooKeeper 挂载目录(数据挂载目录、配置挂载目录和日志挂载目录)
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!