zookeeper集群配置

zookeeper集群只有超过半数节点OK集群才能正常工作,所以集群内节点数量最好为奇数

第一步:主机名称到IP地址映射配置(不做映射也可以直接写ip)

ZooKeeper集群中具有两个关键的角色:Leader和Follower。集群中所有的结点作为一个整体对分布式应用提供服务,集群中每个结点之间都互相连 接,所以,在配置的ZooKeeper集群的时候,每一个结点的host到IP地址的映射都要配置上集群中其它结点的映射信息。

例如:

192.168.36.101 slave-01

192.168.36.102 slave-02

192.168.36.103 slave-03

第二步:修改ZooKeeper配置文件

解压出一个zookeeper程序,然后修改配置文件zoo.cfg

tickTime=2000 # Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,每个 tickTime 时间就会发送一个心跳。 dataDir=/home/hadoop/storage/zookeeper #Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里

clientPort=2181 #zookeeper提供服务的接口也就是监听客户端连接的端口

initLimit=5 #用来配置 Zookeeper 接受客户端初始化连接时最长能忍受多少个心跳时间间隔数。5就表示最长接受5*2000=10秒间隔

syncLimit=2 #Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4 秒

server.1=127.0.0.1:2887:3887

server.2=127.0.0.1:2888:3888

server.3=127.0.0.1:2889:3889

1表示这是第几号服务器/127.0.0.1是服务器ip/2883是集群Leader交换信息的端口/Leader挂了重新选举Leader的端口

第三步:复制分发安装文件

如果各个zookeeper在不同服务器,集群中的zookeeper 配置文件都是跟上面相同的,所以只需要复制然后放在需要的主机上就可以

               如果是同一台机需要修改clientPort端口和server中的端口,保证端口不冲突

还有修改dataDir 和logDir 保证各自使用自己的配置文件

例如:

server.1=127.0.0.1:2887:3887

server.2=127.0.0.1:2888:3888

server.3=127.0.0.1:2889:3889

第四步:设置myid

在我们配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,对应于conf/zoo.cfg文件中配置的server.X中的X,例如:server.1的dataDir下应该建立一个myid的文件,其中写入1

第五步:启动ZooKeeper集群

第六步:验证

由于前面的节点在启动时候会尝试去连接其他节点,所以先启动的节点会有报错信息,这是正常的不用理会,等到leader选举出来了就可以正常工作了


zookeeper集群配置_第1张图片
image.png

你可能感兴趣的:(zookeeper集群配置)