Linux环境安装Zookeeper集群

注意:安装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集群就已经安装完成了

你可能感兴趣的:(Linux环境安装Zookeeper集群)