Zookeeper特性:集群中只要有过半的机器是正常工作的,那么整个集群对外都是可用的,所以要在每台节点上安装zookeeper。
在管理节点安装zookeeper,下载地址:
https://downloads.apache.org/zookeeper/
解压安装:
tar -zxvf
修改配置文件:
cd /home/hadoop/zookeeper-3.4.8/conf
mkdir /home/hadoop/tmp/zookeeper
mkdir /home/hadoop/tmp/zookeeper/datalog
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
dataDir=/home/hadoop/tmp/zookeeper
dataLogDir=/home/hadoop/tmp/zookeeper/datalog
server.x用来配置zookeeper集群中的各节点。
端口2181用于监听客户端;端口2888用于Leader监听Follower的连接;端口3888用于Leader的选举。
dataDir用来指定快照文件存放目录,便于快速恢复;dataLogDir用来指定事务日志文件存放目录。如果只指定了dataDir,没有指定dataLogDir,则事务日志文件也存放在dataDir指定的目录。
默认,autopurge的两个参数是被注释的。“zutopurge.purgeInterval”指定自动清理快照文件和事务日志文件的时间,单位是小时,默认为0表示不自动清理,这个时候可以使用脚本zkCleanup.sh手动清理。不清理的结果是磁盘空间越来越大。“autopurge.snapRetainCout”用来指定保留快照文件和事务日志文件的个数,默认为3。
tickTime默认为2000,2-20倍的minSessionTimeout与maxSessionTimeout,tickTime心跳基本时间单位是毫秒。
修改/bin/zkEnv.sh:
设置环境变量ZOO_LOG_DIR为zookeeper的日志存放目录:export
ZOO_LOG_DIR=/home/hadoop/tmp/zookeeper/datalog
可将这一行放在ZOOKEEPER_PREFIX之后。
再修改ZOO_LOG4J_PROP,以让日志不是输出到zookeeper.out,而是写入到日志文件,将ZOO_LOG4J_PROP=”INFO,CONSOLE”,改成:ZOO_LOG4J_PROP=”INFO,ROLLINGFILE”
修改conf/log4j.properties
log4j.appender.ROLLINGFILE.MaxFileSize=50MB
log4j.appender.ROLLINGFILE.MaxBackupIndex=10
设置每个日志文件大小为50M,滚动10个。
将管理节点上配置好的zookeeper安装文件拷贝到工作节点上。
scp -P 10022 -r
/home/hadoop/zookeeper-3.4.8 主机名:/home/hadoop
在各个节点创建dataDir和dataLogDir目录,在dataDir目录,写入myid文件:
Vi myid
|
主机名 |
文件内容 |
|
|
1 |
|
|
2 |
|
|
3 |
启动zookeeper集群
cd zookeeper-3.4.8
bin/zkServer.sh start
基本命令
进入zookeeper命令行操作界面:
bin/zkCli.sh -server 10.122.227.79:2181
help




