一、集羣搭建
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是否被佔用
如果上述都沒問題,基本就會啓動正常。