xmtrock
发布于 2021-06-25 / 264 阅读
0

伪zookeeper集群

首先最少三个虚拟机,无虚拟机可以运行三个不同的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();