老项目中的客户端使用了ZK的3.4.8版本,所以服务端依旧使用该版本进行搭建。
选择三台服务器搭建集群:172.16.10.70,172.16.10.71,172.16.10.72。根据zk的选举原理,集群选择奇数个节点,保证其高可用性(原理不在此处标明)。
1、增加主机名解析(也可以不配置解析,在配置集群地址时使用真实IP)
修改/etc/hosts下文件,增加三台服务器的主机名解析
例如:
172.16.10.70 zk70
172.16.10.71 zk71
172.16.10.72 zk72
2、修改zookeeper配置文件:zoo.cfg
将安装包内的zoo_sample.cfg拷贝一个作为zoo.cfg(必须叫这个名)
主要修改以下内容:
dataDir 和 dataLogDir(配置文件中不存在,则自己加入相关的变量)
例如:
dataDir=/data/zookeeper/data
dataLogDir=/data/zookeeper/logclientPort 端口号(2181)
70上配置如下,其他两台类似:(后面两个端口可以随意使用,只要不和其他服务的端口冲突即可)
server.1=zk70:2888:3888 //(这里如果没有配置步骤1中的主机名解析,就将zk70改为“172.16.10.70”)
server.2=172.16.10.71:2888:3888
server.3=172.16.10.72:2888:3888
3、在 dataDir 目录下创建名为 myid 的文件,在文件第一行写上对应的Server ID。
例如:
在zk70上dataDir的目录为:/data/zookeeper/data,则在这个目录下创建myid文件,内容为1。这个1与配置文件中的server.1中的1保持一致,用来标识集群中的编号。
4、启动:
在zookeeper的安装目录的bin下运行zkServer.sh start,启动日志在该目录下的zookeeper.out。
注意:
****集群的三台服务器关闭服务器防火墙,当然如果只放开2181,2888和3888端口集群也可以运行,但是当用zk来管理其他服务时,会造成其他服务连接zk时报错,所以建议关掉当前服务器的防火墙。