1. 伪分布式单机配置
说明:
服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)
这个配置项的书写格式比较特殊,规则如下:server.N=YYY:A:B 其中,
N表示服务器编号,
YYY表示服务器的IP地址,
A为LF通信端口,表示该服务器与集群中的leader交换的信息的端口。
B为选举端口,表示选举新leader时服务器间相互通信的端口(当leader挂掉时,其余服务器会相互通信,选择出新的leader)
一般来说,java培训集群中每个服务器的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.3=233.34.9.147:2008:6008
但是当所采用的为伪集群时,IP地址都一样,只能是A端口和B端口不一样。
下面是一个伪集群的例子:
server.0=127.0.0.1:2008:6008
server.1=127.0.0.1:2007:6007
server.2=127.0.0.1:2006:6006
server.3=127.0.0.1:2005:6005
initLimit 是Zookeeper用它来限定集群中的Zookeeper服务器连接到Leader的时限。
syncLimit 限制了follower服务器与leader服务器之间请求和应答之间的时限。
2. 配置步骤
2.1 复制3个ZooKeeper
zookeeper-3.4.9.tar.gz解压后拷贝到/myzookeeper目录下并重新名为zk01,再复制zk01形成zk02、zk03,共计3份
2.2 新增目录
进入zk01/02/03分别新建文件夹,mydata、mylog
2.3 新建配置文件
分别进入zk01-zk03各自的conf文件夹新建zoo.cfg
2.4 编辑配置文件
设置自己的数据和log路径
dataDir=/myzookeeper/zk01/mydata
dataLogDir=/myzookeeper/zk01/mylog
修改各自的clientPort
在最后面添加server的列表
2.5 新增服务编号
在各自mydata下面创建myid的文件,在里面写入server的数字
2.6 启动服务
分别启动三个服务器
2.7 访问集群环境
zkCli连接server,带参数指定-server
2191/2192/2193任意用客户端链接一台,会发现只需要有一个改变了,整个集群的内容自动一致性同步。