天天看点

Centos7下安装Zookeeper

一.配置java环境

1.安装JDK

yum install -y java-1.8.0-openjdk
           

2.查看版本

[[email protected] ~]# java -version
openjdk version "1.8.0_362"
OpenJDK Runtime Environment (build 1.8.0_362-b08)
OpenJDK 64-Bit Server VM (build 25.362-b08, mixed mode)
           

二.部署Zookeeper

1.下载压缩包

#官方下载地址:阿帕奇动物园管理员 (apache.org)

#国内下载地址:Index of /apache/zookeeper

wget -P /usr/local/src https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.7.1-bin.tar.gz
           

2.解压

tar xf /usr/local/src/apache-zookeeper-3.7.1-bin.tar.gz -C /usr/local/
           

3.创建软连接

ln -s /usr/local/apache-zookeeper-3.7.1-bin /usr/local/zookeeper
           

4.配置全局变量

echo 'PATH=/usr/local/zookeeper/bin:$PATH' > /etc/profile.d/zookeeper.sh
           
. /etc/profile.d/zookeeper.sh 
           

5.查看配置目录下的文件

[[email protected] ~]# ls /usr/local/zookeeper/conf/
configuration.xsl  log4j.properties  zoo_sample.cfg
           

6.复制一份配置文件进行修改

cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
           

去除注释内容如下:

[[email protected] ~]# grep -v "#" /usr/local/zookeeper/conf/zoo.cfg

tickTime=2000                  #"滴答时间",用于配置Zookeeper中最小的时间单元
                                 长度,单位毫秒,是其它时间配置的基础

initLimit=10                   #初始化时间,包含启动和数据同步,其值是tickTime的倍数

syncLimit=5                    #正常工作,心跳监测的时间间隔,其值是tickTime的倍数

dataDir=/tmp/zookeeper         #配置Zookeeper服务存储数据的目录

clientPort=2181                #配置当前Zookeeper服务对外暴露的端口,用户客户端和服务端
                                建立连接会话




dataLogdir=/usr/local/zookeeper/logs #可以指定日志路径

autopurge.snapRetainCount=3 
#3.4.0中的新增功能:启用后,ZooKeeper 自动清除功能,会将只保
留此最新3个快照和相应的事务日志,并分别保留在dataDir 和dataLogDir中,删除其余部分,默认值为3,
最小值为3

autopurge.purgeInterval=24  
#3.4.0及之后版本,ZK提供了自动清理日志和快照文件的功能,这个参
数指定了清理频率,单位是小时,需要配置一个1或更大的整数,默认是 0,表示不开启自动清理功能
           
[[email protected] ~]# vi /usr/local/zookeeper/conf/zoo.cfg
...省略...
dataDir=/usr/local/zookeeper/data
...省略...
           

7.启动

#前台启动可观察启动过程:

zkServer.sh start-foreground
           

#后台启动:

zkServer.sh start
           

8.验证服务是否启动

zkServer.sh status
           
ss -ntpl|grep 2181