首先最少三个虚拟机,无虚拟机可以运行三个不同的zookeeper服务,设置不同的端口、data
在每个data下面,分别创建myid文件,内容分别是1、2、3,这个文件是用来记录每个服务器的id
echo 1 >/root/zookeeper1/data/myid
然后再每个zoo.cfg里面配置访问端口和集群列表。这些端口都是默认的不需要更改
server.1=localhost:2881:3881
server.2=localhost:2882:3882
server.3=localhost:2883:3883
然后启动
./zookeeper1/bin/zkServer.sh start
./zookeeper2/bin/zkServer.sh start
./zookeeper3/bin/zkServer.sh start
java操作集群,多个ip如下。其余没有区别
this.client = CuratorFrameworkFactory
.builder().connectString("47.115.203.188:2181,47.115.203.188:2182,47.115.203.188:2183")
.aclProvider(aclProvider)//用权限管理器登录
.authorization("digest", ("happylayga:123456").getBytes()) //使用用户名/密码进行连接
.sessionTimeoutMs(60 * 1000)
.connectionTimeoutMs(15 * 1000)
.retryPolicy(retryPolicy)
.build();
this.client.start();