zookeeper 安裝
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到了一個解決辦法.
右鍵複製需要下載的連線
直接在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