您现在的位置是:主页 > news > 网站托管解决方案/seo在线培训机构排名
网站托管解决方案/seo在线培训机构排名
admin2025/6/18 12:20:22【news】
简介网站托管解决方案,seo在线培训机构排名,黄江做网站,九江做网站的公司首先zookeeper的集群搭建是基于单机版搭建的,如没搭建过zookeeper单机版请查看我之前的一篇文章 zookeeper 搭建集群一般是奇数台服务器,因为zookeeper只要有半数以上的服务器没有挂就可以使用,如我们有5台,挂了2台,还…
首先zookeeper的集群搭建是基于单机版搭建的,如没搭建过zookeeper单机版请查看我之前的一篇文章
zookeeper 搭建集群一般是奇数台服务器,因为zookeeper只要有半数以上的服务器没有挂就可以使用,如我们有5台,挂了2台,还剩3台,剩下半数以上,可以继续使用。但是如果挂了3台,剩两台就不行了,假设我们再加一台,现在变为6台了,这时挂了3台,正好是半数,这种情况是不可以使用的,所以5台和6台都仅仅允许挂3台,所以我们在搭建的时候往往会选择搭建奇数台。
首先给linux配置几个虚拟ip,作为与docker的映射
zk1 192.168.46.237
zk2 192.168.46.238
zk3 192.168.46.239
进入之前单机版安装了zookeeper的docker容器,做以下修改
在根目录 下 创建文件夹 zk ,在zk下创建 两个文件夹一个 为data,一个为 log,在 data下创建一个文件夹 touch myid
修改 zookeeper目录下的conf文件下的 zoo.cfg配置文件
保存退出,然后退出容器 ctrl + D
将zookeeper这个容器 打包成镜像
docker ps -a 查看容器
docker commit 容器id zookeeper:v1
删除之前配置的容器
docker stop 容器id 先暂停
docker rm 容器id 再删除
通过刚才打包好的镜像,生成新的docker容器
docker run --privileged=true -itd -p 192.168.46.237:2181:2181 -p 192.168.46.237:2888:2888 -p 192.168.46.237:3888:3888 7d1aaaf4a688 /bin/bash
进入容器 docker exec -it 7d1aaaf4a688 /bin/bash
# cd /zk/data/
# vi myid
里面写个1,代表配置的第一个 zookeeper
保存退出
关闭防火墙 service iptables stop
启动服务 zkServer.sh start
然后退出容器
通过镜像创建第二个容器
docker run --privileged=true -itd -p 192.168.46.238:2181:2181 -p 192.168.46.238:2888:2888 -p 192.168.46.2
5954f4ff835d0acb37f642985165bc741c18321dc1db7614e0ec4be179d92278
同样, cd /zk/data 然后 vi myid ,这次里面写个2 代表第二个zookeeper服务器
保存退出
关闭防火墙 service iptables stop
启动服务 zkServer.sh start
再退出容器,创建第三个容器,同理,不再赘述
如果 主节点挂了,由从节点代替,其中的一个从节点会成为主节点,这个从节点是主节点没有挂之前选出来的。就像古代皇帝没死之前会先选出太子一个道理。
测试
public static void main(String[] args) {//配置连接地址ZkClient client = new ZkClient("172.17.0.15:2181,172.17.0.16:2181,172.17.0.17:2181");//创建一个目录client.createPersistent("/zzh/abc");//向这个目录中写信息client.writeData("/zzh/abc", "aaaaa");//从这个目录中读信息Object readData = client.readData("/zzh/abc");//打印输出System.out.println(readData);}
结果
如果报错,说socket 连接失败,那么需要在命令提示符(管理员) 添加路由