大數據學習——ZooKeeper環境搭建

搭建 ZooKeeper 3.4.12 環境

我使用了4臺虛擬機來搭建相對應的節點,具體情況如下:

master slave1 slave2 slave3
NameNode
SecondaryNameNode
DataNode
ResourceManage
NodeManage
Flume
ZooKeeper

軟件版本:

  • Hadoop 2.7.2
  • Flume 1.7.0
  • ZooKeeper 3.4.12

另注:我的所有軟件都安裝在 /usr/wang/ 目錄下。

安裝

1.解壓

tar -zxvf zookeeper-3.4.12.tar.gz

2.重命名並建立軟鏈

ln -s zookeeper-3.4.12 zookeeper

3.配置環境變量

sudo vim /etc/profile
# ZOOKEEPER ENVIROMENT
export ZOOKEEPER_HOME=/usr/wang/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH
source /etc/profile

ZooKeeper 配置

1.拷貝 /usr/wang/zookeeper/conf 這個目錄下的 zoo_sample.cfgzoo.cfg

cd /usr/wang/zookeeper/conf

cp zoo_sample.cfg zoo.cfg

2.在 /usr/wang/zookeeper 下創建 zkData 文件夾存放 ZooKeeper 數據

cd /usr/wang/zookeeper
mkdir zkData

3.配置 zoo.cfg 文件

  • 修改 dataDir 路徑爲 /usr/wang/zookeeper/zkData
dataDir=/usr/wang/zookeeper/zkData
  • 添加集羣信息
#######################cluster##########################
server.1=slave1:2888:3888
server.2=slave2:2888:3888
server.3=slave3:2888:3888

設置 ZooKeeper 日誌輸出到指定文件夾

我是將 ZooKeeper 的日誌集中輸出到 /usr/wang/zookeeper/logs 文件夾下

1.修改 bin/zkEnv.sh

if [ "x${ZOO_LOG_DIR}" = "x" ]
then
        ZOO_LOG_DIR="/usr/wang/zookeeper/logs"
fi

2.修改 bin/zkServer.sh

_ZOO_DAEMON_OUT="$ZOO_LOG_DIR/zookeeper.log"

3.設置日誌按照天進行滾動

  • bin/zkEnv.sh

    ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
    
  • conf/log4j.properties

    # Define some default values that can be overridden by system properties
    zookeeper.root.logger=INFO, ROLLINGFILE
    
    # Add ROLLINGFILE to rootLogger to get log file output
    #    Log DEBUG level and above messages to a log file
    log4j.appender.ROLLINGFILE=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.ROLLINGFILE.Threshold=debug
    log4j.appender.ROLLINGFILE.File=zookeeper.log
    log4j.appender.ROLLINGFILE.DataPattern='.'yyyy-MM-dd-HH-mm
    log4j.appender.ROLLINGFILE.encoding=UTF-8
    log4j.appender.ROLLINGFILE.Append=false
    log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.ROLLINGFILE.layout.ConversionPattern= [%d{yyyy-MM-dd HH\:mm\:ss}]
    %-5p %c(line\:%L) %x-%m%n
    

集羣操作

1.在 /usr/wang/zookeeper/zkData 目錄下創建一個 myid 的文件

cd /usr/wang/zookeeper/zkData
touch myid

2.分發 zookeeper 到其他節點

cd /usr/wang

rsync -rvl zookeeper spark@slave2:/usr/wang/
rsync -rvl zookeeper spark@slave3:/usr/wang/

3.編輯 myid 文件

  • slave1 節點上

    echo "1" >> myid
    
  • slave2 節點上

    echo "2" >> myid
    
  • slave3 節點上

    echo "3" >> myid
    

簡單命令

1.啓動命令

bin/zkServer.sh start

2.查看節點狀態

bin/zkServer.sh status

3.停止

bin/zkServer.sh stop

簡單命令

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