官网下载地址:http://archive.apache.org/dist/zookeeper/
本课程使用的Zookeeper版本为3.4.6
zookeeper-3.4.6.tar
链接:https://pan.baidu.com/s/1aFhIJz6nRXtFXv3dfu6JIQ
提取码:1234
下载完成后可以获得名称为zookeeper-3.4.6.tar.gz的压缩文件。
安装步骤:(建议安装到自己 服务器或虚拟机上 这样日后学习的时候比较方便 )
第一步:安装 jdk(略 ) 这个你自己在网上找资料进行安装 使用 java -version 查询当前机器 JDK版本号
第二步:把 zookeeper 的压缩包(zookeeper-3.4.6.tar.gz)上传到 linux 系统的 /root下面
第三步:解压缩压缩包
tar -zxvf zookeeper-3.4.6.tar.gz
第四步:进入zookeeper-3.4.6目录,创建data目录
mkdir -p /root/zookeeper-3.4.6/data
第五步:进入conf目录 ,把zoo_sample.cfg 改名为zoo.cfg
cd /root/zookeeper-3.4.6/conf
mv zoo_sample.cfg zoo.cfg
第六步:打开zoo.cfg文件, 修改data属性:dataDir=/root/zookeeper-3.4.6/data
(对应你上面创建的data)
vi zoo.cfg
第7步管理Zookeeper服务
进入Zookeeper的bin目录,
cd /root/zookeeper-3.4.6/bin
#启动服务命令 (1)
./zkServer.sh start
#停止服务命令
./zkServer.sh stop
#重启服务命令
./zkServer.sh restart
#查看服务状态 (2)
./zkServer.sh status
以上就是 Zookeeper注册中心服务 的搭建
1,下载Zookeeper镜像, docker没有 3.4.6版本的我们只能下载3.4.9 不要下载最新版本会出问题的
docker pull zookeeper:3.4.9
2,启动容器并添加映射
docker run -d --name zookeeper --restart=always -p 2181:2181 zookeeper:3.4.9
3,查看容器是否启动
docker ps
docker logs zookeeper (查看日志)
4, 进入容器的配置文件位置
docker exec -it zookeeper /bin/bash
cd /conf/
vi zoo.cfg (修改 dataDir=/data 可能默认就是/data)
admin.serverPort=8089
mkdir -p /data (创建dataDir的data 目录)
5, 管理Zookeeper服务
进入Zookeeper的bin目录, (在创建容器的时候就已经启动了 所以不要启动了)
cd /zookeeper-3.4.9/bin
#启动服务命令
./zkServer.sh start
#停止服务命令
./zkServer.sh stop
#查看服务状态 (1)
./zkServer.sh status
#重启
./zkServer.sh restart
# 查看zookeeper 日志
./zkServer.sh start-foreground
以上就是 Zookeeper注册中心服务 的搭建
查看节点注册情况
cd /zookeeper-3.4.9/bin
./zkCli.sh
然后 ls /dubbo 就能看的我们提供的服务的包路径
比如: [com.example.service.UserService]
超级简单的 只需要在其他服务器上在安装二个 Zookeeper 就行了 因为最低三台才能集群否则
No server failure will be tolerated. You need at least 3 servers
导致你一直启动不成功
我们在虚拟机上 使用docker 来演示
没条件的在多个虚拟机上安装也行
序号 | 服务与端口 |
---|---|
1 | 192.168.66.67 |
2 | 192.168.66.68 |
3 | 192.168.66.69 |
创建挂载
mkdir -p /root/zookeeper/conf /root/zookeeper/data
在conf创建配置文件
vi /root/zookeeper/conf/zoo.cfg
clientPort=2181
dataDir=/data
dataLogDir=/data/log
tickTime=3000
initLimit=5
syncLimit=2
autopurge.snapRetainCount=3
autopurge.purgeInterval=0
maxClientCnxns=60
server.111=192.168.66.67:2888:3888
server.222=192.168.66.68:2888:3888
server.333=192.168.66.69:2888:3888
autopurge.snapRetainCount 对应你集群的数量
然后在每个节点的 dataDir指定的目录下 创建myid文件
cd /root/zookeeper/data
touch myid && echo 111 > myid
注意 这个数字111 必须对应zoo.cfg的配置文件的 server.111 也就是 192.168.66.67这台主机
要是数字222的话,就是要在192.168.66.68 这台主机上编辑myid文件 …
touch myid && echo 222 > myid
192.168.66.69
touch myid && echo 333 > myid
拉取镜像
docker pull zookeeper:3.4.9
创建容器
docker run --network host \
-v /root/zookeeper/data:/data \
-v /root/zookeeper/conf:/conf \
--restart=always \
--privileged=true \
--name zookeeper -d zookeeper:3.4.9
查看 docker logs zookeeper
这里注意必须全部的节点都搭建完成后 而且都能通过命令进入到容器里
docker exec -it zookeeper /bin/bas
否则只要有一个节点没有成功那么 检测运行状态状态 就会出现
JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
如果以上都没问题 那么 稍等一会 1分钟 (让服务之间进行通信)
然后 随便进入一个容器里 检查zookeeper运行情况 进入容器
docker exec -it zookeeper /bin/bash
cd /zookeeper-3.4.9/bin
./zkServer.sh status
如果是主节点 那么会显示 leader 子节点会显示 follower 这个由Zookeeper自行选择
如果显示 standalone 那么就代表你集群没搭建成功
开放 每个节点的 2181 2888 3888 端口 或者直接将 防火墙给关了 (重要)
以上配置完了 关闭Zookeeper 然后从新启动 容器的话重启容器
端口说明:
1、2181:对cline端提供服务
2、3888:用来选举leader的端口
3、2888:集群内机器通讯使用(Leader监听此端口)
如果一直出现
Error contacting service. It is probably not running.
检测 myid 有没有顺序配置错误 检测挂载的 zoo.cfg文件内容有没有复制的时候漏掉什么东西
搭建zookeeper集群后DubboAdmin客户端 到底连接谁?
这个也很好理解 集群分为主节点和 子节点 我们DubboAdmin客户端 连接zookeeper的主节点( leader) 就行
下 创建myid文件//
cd /root/zookeeper/data
touch myid && echo 111 > myid
注意 这个数字111 必须对应zoo.cfg的配置文件的 server.111 也就是 192.168.66.67这台主机
要是数字222的话,就是要在192.168.66.68 这台主机上编辑myid文件 …
touch myid && echo 222 > myid
192.168.66.69
touch myid && echo 333 > myid
拉取镜像
docker pull zookeeper:3.4.9
创建容器
docker run --network host \
-v /root/zookeeper/data:/data \
-v /root/zookeeper/conf:/conf \
--restart=always \
--privileged=true \
--name zookeeper -d zookeeper:3.4.9
查看 docker logs zookeeper
这里注意必须全部的节点都搭建完成后 而且都能通过命令进入到容器里
docker exec -it zookeeper /bin/bas
否则只要有一个节点没有成功那么 检测运行状态状态 就会出现
JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.5/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
如果以上都没问题 那么 稍等一会 1分钟 (让服务之间进行通信)
然后 随便进入一个容器里 检查zookeeper运行情况 进入容器
docker exec -it zookeeper /bin/bash
cd /zookeeper-3.4.9/bin
./zkServer.sh status
如果是主节点 那么会显示 leader 子节点会显示 follower 这个由Zookeeper自行选择
如果显示 standalone 那么就代表你集群没搭建成功
开放 每个节点的 2181 2888 3888 端口 或者直接将 防火墙给关了 (重要)
以上配置完了 关闭Zookeeper 然后从新启动 容器的话重启容器
端口说明:
1、2181:对cline端提供服务
2、3888:用来选举leader的端口
3、2888:集群内机器通讯使用(Leader监听此端口)
如果一直出现
Error contacting service. It is probably not running.
检测 myid 有没有顺序配置错误 检测挂载的 zoo.cfg文件内容有没有复制的时候漏掉什么东西
搭建zookeeper集群后DubboAdmin客户端 到底连接谁?
这个也很好理解 集群分为主节点和 子节点 我们DubboAdmin客户端 连接zookeeper的主节点( leader) 就行
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_45203607/article/details/120494555
内容来源于网络,如有侵权,请联系作者删除!