1. 程式人生 > 實用技巧 >zookeeper 安裝

zookeeper 安裝

>>> hot3.png

zookeeper 安裝

環境機器三臺,系統centos6.5最小安裝, 最好先關閉iptables,等部署好以後在安裝需求開啟.

10.221.8.220

10.221.8.221

10.221.8.222

第一步 準備需要的安裝包

zookeeper:http://apache.fayea.com/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz

linux 系統使用wget下載jdk,是個很操蛋的事情. .... 最後google到了一個解決辦法.

右鍵複製需要下載的連線

113451_Qhz2_734134.png

直接在linux裡面使用wget下載:wget http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz?AuthParam=1497843099_9ca771fb50851e31af9a592d3f5bdbe9 然後得到jdk-8u131-linux-x64.tar.gz?AuthParam=1497843099_9ca771fb50851e31af9a592d3f5bdbe9檔案. 直接重新命名為jdk-8u131-linux-x64.tar.gz即可解壓使用

第二步安裝

1:安裝jdk (解壓配置好環境變數即可)

exportJAVA_HOME=/usr/share/jdk1.6.0_35

exportPATH=$JAVA_HOME/bin:$PATH

exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

2:安裝zookeeper (解壓即可, 我把它移動到 /usr/local/下面)

第一步:修改zookeeper的配置檔案 (三臺機器的配置都一樣)

vi/usr/local/zookeeper-3.3.6/conf/zoo.cfg

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.

dataDir=/tmp/zookeeper#存放資料的目錄

dataLogDir=/usr/local/zookeeper-3.3.6/logs

# the port at which the clients will connect

clientPort=2181

server.1=Redis1:2888:3888#server.1 決定了後面這個主機(Redis1)裡面的zookeeper的myid檔案裡面的內容

server.2=Redis2:2888:3888

server.3=Redis3:2888:3888

第二步: 建立目錄與檔案 (處了myid 檔案裡面的內容不樣,其他都一樣.)

mkdir /usr/local/zookeeper-3.3.6/logs

mkdir /tmp/zookeeper

touch/tmp/zookeeper/myid

echo 1 >/tmp/zookeeper/myid# 各個機器上的zookeeper的myid檔案裡面的內容是由配置檔案裡面這一行(server.1=Redis1:2888:3888 )配置來決定的. 我的這個機器的hostname 是Redis1 所以使用server.1的這個1

3 啟動zookeeper

/usr/local/zookeeper-3.3.6/bin/zkServer.sh start

/usr/local/zookeeper-3.3.6/bin/zkServer.sh status #檢視狀態正常情況如下

JMX enabled by default

Using config: /usr/local/zookeeper-3.3.6/bin/../conf/zoo.cfg

Mode: leader #也可能是其他角色

##########普通使用者開機啟動zookeeper##############################

問題: 直接在/etc/rc.local裡面新增下面的啟動命令, zookeeper服務可以起來但是狀態不對.....

su - op /home/op/server/zookeeper-3.4.8/bin/zkServer.sh status

解決方法:

第一步:建立啟動檔案

[[email protected] ~]$ cat /etc/init.d/zookeeper
#!/bin/bash

#/home/op/server/zookeeper-3.4.8 為我的zookeeper安裝路徑, 開機使用abc使用者啟動zookeeper.
case $1 in
start) su - abc/home/op/server/zookeeper-3.4.8/bin/zkServer.sh start;;
stop) su - abc/home/op/server/zookeeper-3.4.8/bin/zkServer.sh stop;;
status) su - abc/home/op/server/zookeeper-3.4.8/bin/zkServer.sh status;;
restart) su - abc/home/op/server/zookeeper-3.4.8/bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart" ;;
esac

第二步修改許可權

sudo chmod +x /etc/init.d/zookeeper

第三部, 通過chkconfig開機啟動zookeeper

sudochkconfig --add zookeeper

sudo chkconfig zookeeper on

#########修改zookeeper的日誌路徑#############################

修改$ZOOKEEPER_HOME/bin目錄下的zkEnv.sh檔案, (下面加黑的內容)

if [ "x${ZOO_LOG_DIR}" = "x" ]
then
ZOO_LOG_DIR="/home/abc/logs/zookeeper_log"
fi

if [ "x${ZOO_LOG4J_PROP}" = "x" ]
then
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
fi

轉載於:https://my.oschina.net/denglz/blog/503912