zookeeper集群
zookeeper集群
懒得配置更多虚拟机,直接一台机子开启多个zookeeper实现伪集群
,和redis
伪集群一样,修改个端口号即可,就可以一台服务器跑多个zookeeper。
安装配置
下载解压配置和单机的一样,只不过多了一些额外配置。
新建一个文件夹,专门放多台zookeeper。
喜欢的路径创建一个zookeepercluster
目录,解压三份zookeeper的-bin.tar.gz
包到该目录。
按个配置每个zookeeper
创建data
目录,并在data
目录下创建myid
文件
里边分别添加内容1、2、3。这个文件就是记录每个服务器的ID。
按个修改配置文件。
主要修改两个:数据存放路径和端口号
切记切记:路径别有中文,不然一直提示找不到myid
文件(虽然确实data目录创建并配置了)
1 |
|
每个配置文件配置客户端访问端口(clientPort)和集群服务器IP列表。
末尾都添加如下:
1 |
|
配置以上即可。启动验证
启动成功,状态会如下:
没问题的话,唯一的不美观就是,三个服务器,其第一或者第二个,由于其他的服务还没启动,日志里会报***拒绝连接,第三个服务没毛病。
问题
切记路径不能有中文,单机zookeeper可能没什么,集群的就有问题了。
即便正确配置了路径,也配置了myid
,里边id
也唯一。但会一直提示:
可以正常启动,但是查看状态时,提示如下:
权限问题,启动后,查看之前创建的data
目录,除了自己创建的myid
,还会有一个version-2
的目录,里边有三个文件,省事直接修改所有权限即可。
1 |
|
8080端口已经被占用:
原因,zookeeper3.5之后,Zookeeper AdminServer,默认使用8080端口。
配置文件添加如下内容修改为其他未被使用的端口即可:
1 |
|
zookeeper集群
http://www.muzili.ren/2022/06/11/伪集群版Zookeeper搭建/