zookeeper簡單的集羣配置!

準備工作:三臺(最少)主機,並且爲基數臺主機,zookeeper規定至少一半以上正常工作才能正常運行,系統爲CentOS 7,

zookeeper軟件包:zookeeper-3.4.7.tar.gz


在安裝zookeeper之前,請先安裝jdk,Java環境支持。具體安裝jdk步驟簡單,不贅述。

下載軟件包,放在/usr/local/src目錄下,解壓

tar -zxvf zookeeper-3.4.7.tar.gz

mv zookeeper-3.4.7  /usr/local/zookeeper(個人習慣,把軟件包放在/usr/local下)

進入zookeeper/conf目錄下,複製zoo_sample.cfg 命名爲zoo.cfg

修改配置:

tickTime=2000

dataDir=/data/zookeeper/data

dataLogDir=/data/zookeeper/logs

initLimit=5

syncLimit=2

clientPort=2181

server.1=IP1:2888:3888     此處紅色標記可隨意數字

server.2=IP2:2888:3888

server.3=IP3:2888:3888

保存退出;

由於配置文件中有dataDir和dataLogDir,所以要創建兩個目錄

mkdir -p /data/zookeeper/data

mkdir -p /data/zookeeper/logs

在dataDIr目錄下創建server id 文件

vim myid 值爲1

注:IP1上的myid的值是server.X 的X值要一致,不一致會搭建不成功。

其餘兩臺主機同樣的配置,不同就是myid的值。

啓動zookeeper,進入bin目錄

cd /usr/local/zookeeper/bin

會發現如下文件:

wKiom1bNTsmhq5u0AAA3SwzRHEY362.png

.cmd文件是windows運行腳本,.sh文件是Linux運行腳本

三臺主機分別啓動:

./zkServer.sh start

是否成功,則查看狀態:

./zkServer.sh status;

若出現follower或者leader的單詞,則表示zookeeper集羣搭建成功。

常見的錯誤:

在查看狀態的時候,會出現以下代碼:

JMX enabled by default

Using config: /usr/local/zk/bin/../conf/zoo.cfg

Error contacting service. It is probably not running

原因之一是:zoo.cfg在制定log輸出目錄,但是沒有創建。

原因之二是:在配置節點主機名和myid不匹配;

原因之三是:zookeeper所需端口沒有開放,開放三個端口2181,2888,3888


把zookeeper加入開機啓動中;配置如下

進入/etc/init.d/創建啓動文件

vim zookeeper

內容爲:

#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper

EXEC=/usr/local/zookeeper/bin/zkServer.sh
ZOO_LOG_DIR="/tmp/zookeeper/logs"
JAVA_HOME=/usr/local/jdk
PATH=${JAVA_HOME}/bin:$PATH

case $1 in
          start) su root /usr/local/zookeeper/bin/zkServer.sh start;;
          stop) su root /usr/local/zookeeper/bin/zkServer.sh stop;;
          status) su root /usr/local/zookeeper/bin/zkServer.sh status;;
          restart) su root /usr/local/zookeeper/bin/zkServer.sh restart;;
          *)  echo "require start|stop|status|restart"  ;;
esac

保存退出

給與執行權限chmod +x zookeeper

添加到啓動項

chkconfig --add zookeeper即可


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章