首页
编程随笔
Java笔记
Html/Css/Js
Android
后端笔记
服务器搭建
BUG收集
Java异常
Android异常
在线工具
Json格式化
编码/解码
Epub在线编辑
登录
发布文章
个人文章
退出登录
首页
技术教程
BUG收集
在线工具
资源下载
登录
发布文章
退出登录
搜索
当前位置:
首页
-
博客
- 正文
关闭
zookeeper在linux集群安装
更新时间:2023-06-20 10:26:41
阅读数:480
发布者:落幕
本文主要是在三台linux上搭建zookeeper集群,现实业务为了保证可靠性往往不可能只有一台zookeeper,所以需要我们熟练掌握如何搭建集群。 使用的主机信息: ```txt 主机1:192.168.225.128 主机2:192.168.225.129 主机3:192.168.225.130 ``` zookeeper安装目录: /opt/zookeeper ### 1、先搭建单机zookeeper zookeeper单机搭建参考 [http://blog.speechb.com/detail/d7256a8518f8438985410844cf118e45](http://blog.speechb.com/detail/d7256a8518f8438985410844cf118e45 "http://blog.speechb.com/detail/d7256a8518f8438985410844cf118e45") ### 2、集群配置 #### (1)设置zookeeper唯一标识 三台机器上单机部署都完成后,需要注意修改的地方是,我们需要在每一个节点的数据目录下面创建一个myid的文件,里面填写每一个节点的id,这里的id不能相同,我们用三台服务器来部署测试,直接填1,2,3即可。 主机1: # /opt/zookeeper/data 为zoo.cfg上配置的dataDir路径 echo 1 > /opt/zookeeper/data/myid [![zookeeper设置myid](https://www.speechb.com/blog/zookeeper_batch_install1.png "zookeeper设置myid")](https://www.speechb.com/blog/zookeeper_batch_install1.png ) 其它两台重复步骤即可 主机2和主机3 echo 2 > /opt/zookeeper/data/myid echo 3 > /opt/zookeeper/data/myid #### (2)集群ip配置 修改conf下面的配置文件zoo.cfg,添加下面配置 ```config # server.A=B:C:D # A标识机器序列号不重复就行判断myid文件 # B填写集群中机器IP或域名 # C是集群中Follower与Leader服务器交换信息的端口 # D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,用来执行选举时服务器相互通信的端口 server.1=192.168.225.128:2888:3888 server.2=192.168.225.129:2888:3888 server.3=192.168.225.130:2888:3888 ``` ### 3、启动集群 ```shell #在三台服务分别执行启动命令 ./zkServer.sh start ``` #### 查看是否启动成功 ##### 查看端口是否被监听 ```txt lsof -i:2181 lsof -i:2888 lsof -i:3888 ``` ##### 使用./zkServer.sh status进行检查集群启动情况(至少启动两台zookeeper才有效) sh /opt/zookeeper/bin/zkServer.sh status ![zookeeper设置myid](https://www.speechb.com/blog/zookeeper_batch_install2.png "zookeeper设置myid") 4、常见问题 安装过程如果发现启动不了: ```txt (1)网络是否互通,可以互相ping一下,查看主机是否互通,端口是否开放 # 使用telnet查看端口是否开放,本地虚拟机关闭防火墙即可 telnet 127.0.0.1 3888 [root@test3 ~]# telnet 127.0.0.1 3888 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. (2)主机唯一标识是否重复,myId拼写重复 (3)data目录文件需要清除 (4)主机id改为0.0.0.0例如:主机1自己的ip需要改为0.0.0.0,其它两台类似 ``` 主机1自己的ip需要改为0.0.0.0: ```txt server.1=0.0.0.0:2888:3888 server.2=192.168.225.129:2888:3888 server.3=192.168.225.130:2888:3888 ``` 异常日志查看,在zookeeper目录下的logs /opt/zookeeper/logs/