ZooKepper搭建伪集群

参考文章:

1、复制多个Zoookeeper并重命名

 2、分别配置zookeeper下的conf/zoo.cfg中的

  • dataDir与dataLogDir的路径,与zookeeper一一对应
  • ClientPort端口(2181、2182、2183),客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求
  • 服务器地址

 服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)

这个配置项的书写格式比较特殊,规则如下:
    server.N=YYY:A:B  
其中N表示服务器编号,YYY表示服务器的IP地址,A为LF通信端口,表示该服务器与集群中的leader交换的信息的端口。B为选举端口,表示选举新leader时服务器间相互通信的端口(当leader挂掉时,其余服务器会相互通信,选择出新的leader)。一般来说,集群中每个服务器的A端口都是一样,每个服务器的B端口也是一样。但是当所采用的为伪集群时,IP地址都一样,只能是A端口和B端口不一样。
下面是一个非伪集群的例子:
    server.0=233.34.9.144:2008:6008  
    server.1=233.34.9.145:2008:6008  
    server.2=233.34.9.146:2008:6008  
下面是一个伪集群的例子:
    server.0=127.0.0.1:2008:6008  
    server.1=127.0.0.1:2007:6007  
    server.2=127.0.0.1:2006:6006  
3、在DataDir的目录下创建myid,且内容和服务器编号一致例如server.2=127.0.0.1:2006:6006 中,编号为2,则myid的内容就是2

4、由于修改了配置信息,所以需要重启zk服务,然后打开所有zk服务

 

 4、通过./zkCli.sh -sever 192.168.0.118 2181来访问节点,此处2181一直报连接错误,暂时没找到原因,但不影响

./zkServer.sh status来查看zk的状态,可以从图中看出2183是leader,而2182是follower

 5、测试:在2182下创建节点数据,登录2183,便可查询到数据同步

 解决Stauts报错问题:

查找./bin目录下的zookeeper.out日志:

 

posted @ 2020-07-24 17:59  echola_mendes  阅读(203)  评论(0编辑  收藏  举报