一、下载
下载ZooKeeper之前,需要根据下载的Kafka版本,来确定ZooKeeper的版本。
Kafka官方地址:Apache Kafka
1、先下载源码版本,下载完后解压,在kafka-3.8.0-src\gradle目录下找到dependencies.gradle文件,在这个文件里可以找到对应zookeeper的版本号。
ZooKeeper官方地址:Apache ZooKeeper
至此,已经下载完成,接下来开始安装。
二、安装
我的安装目录是在/usr/local/下
bash
cd /usr/local/
# 创建目录
mkdir zookeeper
cd zookeeper
把下载好的apache-zookeeper-3.8.4-bin.tar.gz文件放入到zookeeper目录下。
然后解压压缩文件,然后把解压好的文件夹重命名一下,其实至于要不要重命名看个人,重命名的目的是为了精简路径。
bash
# 解压
tar -zxvf apache-zookeeper-3.8.4-bin.tar.gz
# 重命名
mv apache-zookeeper-3.8.4-bin zookeeper-3.8.4
zoo.cfg配置文件
接下来开始修改zookeeper的配置文件了,这里需要重名配置文件名为zoo.cfg
bash
# 进入到配置文件目录
cd zookeeper-3.8.4/conf/
# 重命名配置文件
mv zoo_sample.cfg zoo.cfg
# 编辑配置文件
vim zoo.cfg
bash
#这个是数据保存的默认文件夹
#dataDir=/tmp/zookeeper
#数据文件夹
dataDir=/usr/local/zookeeper/zookeeper-3.8.4/data
#日志文件夹
dataLogDir=/usr/local/zookeeper/zookeeper-3.8.4/logs
当运行zookeeper的时候,会在/usr/local/zookeeper/zookeeper-3.8.4/这个目录下自动创建两个文件夹,data和logs
添加环境变量
bash
vim /etc/profile
#尾部添加如下内容
export ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.8.4/
export PATH=$ZOOKEEPER_HOME/bin
# 保存
:wq
# 重新启动环境变量,使环境变量生效
source /etc/profile
启动zookeeper
bash
cd /usr/local/zookeeper/zookeeper-3.8.4/bin/
zkServer.sh start
示例
bash
# 启动服务
[root@bogon bin]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.8.4/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
# 查看状态
[root@bogon bin]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.8.4/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: standalone
# 停止服务
[root@bogon bin]# zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.8.4/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
# 查看状态
[root@bogon bin]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.8.4/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Error contacting service. It is probably not running.
查看是否启动
bash
netstat -tunlp|egrep "(2181|9092)"
示例:
bash
[root@bogon bin]# netstat -tunlp|egrep "(2181|9092)"
tcp6 0 0 :::2181 :::* LISTEN 53548/java