大数据学习——ZooKeeper环境搭建

搭建 ZooKeeper 环境

  • 搭建 ZooKeeper 3.4.12 环境
    • 安装
    • ZooKeeper 配置
    • 设置 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

大数据学习——ZooKeeper环境搭建_第1张图片

你可能感兴趣的:(开发环境,Ubuntu,ZooKeeper)