[zookeeper] 集群搭建及启动后查询服务器状态异常解决
一、集群搭建
1、每台服务器上部署zookeeper
1、将zookeeper压缩包解压到指定位置,在zookeeper解压后目录下创建数据目录zkData
2、在zkData下创建myid文件,内容写上数字,代表该zookeeper的唯一id
3、修改conf目录下的zoo_sample.cfg为zoo.cfg,并修改其配置中的数据目录为1中创建的路径
2、修改服务器的hostname及配置hosts
cd /etc/sysconfig
vi network
修改其中的HOSTNAME,如果是空白的话就自己添加HOSTNAME,修改成自己需要的名字。
HOSTNAME=zookeeper001
修改/etc/hosts中的文件
vi /etc/hosts
将各个服务器的ip和主机名输进去,本机放在最上面,就像这样
192.168.5.5 zookeeper001
192.168.5.6 zookeeper002
192.168.5.7 zookeeper003
3、每个zookeeper的zoo.cfg配置末尾添加
server.1=zookeeper001:2888:3888
server.2=zookeeper002:2888:3888
server.3=zookeeper003:2888:3888
4、分别启动每台服务器的zookeeper
二、集群搭建后启动zookeeper出现异常
[root@zookeeper001 bin]# ./zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/install/zookeeper3.5.6/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Error contacting service. It is probably not running.
集群中的服务节点zkServer.sh start 启动后 通过zkServer.sh status 查看出现上述红色异常
可能出现的原因:
1、防火墙未关闭
systemctl status firewalld.service #查看防火墙状态 systemctl stop firewalld.service #关闭防火墙 systemctl disable firewalld.service #禁止启动防火墙
2、主机名未设置,zoo.cfg中的集群配置未使用主机名
解决方案参考搭建步骤的hosts和hostname设置
3、检查是否安装jdk,及jdk是否生效,可通过java -version查看是否生效
4、查看zookeeper端口2181是否被占用
如果上述都没问题,基本就会启动正常。