注意:安装Zookeeper集群模式机器需要为奇数台且大于等于3台
1、下载Zookeeper安装包
Apache版本下载地址
http://mirror.bit.edu.cn/apache/zookeeper/
CDH 版本下载地址
http://archive.cloudera.com/cdh5/cdh/5/
2、解压tar.gz到指定目录
复制安装包到app目录下
cp zookeeper-3.4.10.tar.gz ~/app
到app目录下并解压安装包
tar -xzvf zookeeper-3.4.10.tar.gz
3.编辑配置文件
cd app/zookeeper-3.4.10/conf
编辑zoo.cfg文件
#data存放路径
dataDir=~/app/zookeeper-3.4.10/data
maxClientCnxns=0
# the port at which the clients will connect
clientPort=2181
#zookeeper节点配置 server.n=hostname:2888:3888 2888为通讯端口,3888为选举端口
server.1=vbtstapp14:2888:3888
server.2=vbtstapp15:2888:3888
server.3=vbtstapp16:2888:3888
编辑log4j.properties文件
# CONSOLE改为ROLLINGFILE
zookeeper.root.logger=INFO,ROLLINGFILE
# 文件大小及备份
log4j.appender.ROLLINGFILE.MaxFileSize=10MB
log4j.appender.ROLLINGFILE.MaxBackupIndex=10
# 输出格式(新增)
log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ROLLINGFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n
编辑libexec目录下的 zkEnv.sh
# 日志路径修改
if [ "x${ZOO_LOG_DIR}" = "x" ]
then
# 日志数出路径,默认为.当前路径
ZOO_LOG_DIR=" ${ZOOKEEPER_HOME}/logs"
fi
# 日志级别修改,默认为CONSOLE
if [ "x${ZOO_LOG4J_PROP}" = "x" ]
then
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
fi
3、将配置好的文件分发到需要的主机
scp -r ~/app/zookeeper-3.4.10 用户名@主机名:~/app
最好再分发之前配置好机器之间的免秘登录,免去每次输入密码的麻烦,如需要配置可以查看另外一篇文章https://www.jianshu.com/p/fa06f3d77094
4、设置myid
zookeeper集群中,每个节点须要设置一个myid,这个myid用以区分zookeeper的节点。
到dataDir目录下,创建myid文件,将自身id写入文件
cd ~/app/zookeeper-3.4.10/data
# hostname1设置为1,其他主机依次类推
echo "1" > myid
# hostname2设置为2,其他主机依次类推
echo "2" > myid
# hostname3设置为3,其他主机依次类推
echo "3" > myid
5、配置环境变量
vi ~/.bash_profile
export ZOOKEEPER_HOME=~/zookeeper-3.4.10
export PATH=${ZOOKEEPER_HOME}/bin:$PATH
source .bash_profile 使环境变量生效
6、启动与验证
启动与停止命令需再每台机器上分别执行
zkServer.sh start # 启动
zkServer.sh status # 查看状态
zkServer.sh stop # 停止
集群启动后,只会存在一个leader,其他的follower
至此,Zookeeper集群就已经安装完成了
网友评论