一、下载ZooKeeper
二、安装环境
三、JDK安装过程(略)
四、ZooKeeper安装和配置
1、创建目录
2、解压zookeeper安装包
3、复制重命名配置文件
4、修改配置文件zoo.cfg
5、创建myid文件
6、配置zookeeper的环境变量
7、打开防火墙端口
8、设置开机启动
9、启动/停止/重启ZooKeeper、查看状态和进程
一、下载ZooKeeper
https://zookeeper.apache.org/releases.html#download
下载zookeeper-3.4.13.tar.gz
二、安装环境
ZooKeeper版本:zookeeper-3.4.13
操作系统:CentOS-7-x86_64-DVD-1804.iso
JDK版本:jdk1.8.0_181
三、JDK安装过程(略)
配置JDK环境变量。
四、ZooKeeper安装和配置
1、创建目录
在根目录下创建文件夹。
mkdir -p /app/data /app/logs /app/runtime /app/services
2、解压zookeeper安装包
解压zookeeper-3.4.13.tar.gz文件到/app/runtime目录。
tar -zxvf zookeeper-3.4.13.tar.gz
3、复制重命名配置文件
cd /app/runtime/zookeeper-3.4.13/conf
cp zoo_sample.cfg zoo.cfg
4、修改配置文件zoo.cfg
vi zoo.cfg
修改新增以下配置内容
dataDir=/app/data/zookeeper
dataLogDir=/app/logs/zookeeper
#2888,3888 are election port
server.1=xinxin001:2888:3888
dataDir存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里。
dataLogDir事务日志输出目录。
server.1=xinxin001:2888:3888
server.A=B:C:D
A是一个数字,机器编号,表示这个是第几号服务器。1为第1号服务器。
B是服务器的 IP 地址或主机名。xinxin001服务器主机名。
C这个服务器与集群中的Leader服务器交换信息的端口。2888端口是zookeeper服务之间通信的端口。
D用来执行选举时服务器相互通信的端口。3888端口是zookeeper与其他应用程序通信的端口。
查看服务器主机名命令。
[root@xinxin001 ~]# hostname
xinxin001
创建目录
mkdir /app/data/zookeeper
mkdir /app/logs/zookeeper
5、创建myid文件
在data目录下创建myid文件,myid文件内容为1。
对应配置server.1=xinxin001:2888:3888中的1。
cd /app/data/zookeeper/
编辑myid文件,输入内容1。
vi myid
6、配置zookeeper的环境变量
cd ~
vi .bash_profile
添加以下配置内容。
# zookeeper env
export ZOOKEEPER_HOME=/app/runtime/zookeeper-3.4.13
export PATH=$ZOOKEEPER_HOME/bin:$PATH
使配置文件生效
source .bash_profile
注:该配置只对当前操作用户有效。配置后,在控制台窗口可以直接使用bin目录下的命令。
7、打开防火墙端口
在防火墙中打开要用到的端口 2181、 2888、 3888。
firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --zone=public --add-port=2888/tcp --permanent
firewall-cmd --zone=public --add-port=3888/tcp --permanent
重启防火墙
firewall-cmd --reload
查看已开放的端口(默认不开放任何端口)
firewall-cmd --list-ports
8、设置开机启动
cd /etc/rc.d/init.d
创建zookeeper文件。
touch zookeeper
授权限。
chmod +x /etc/rc.d/init.d/zookeeper
编辑文件。
vi zookeeper
添加以下配置内容。
#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
# export JAVA_HOME=/app/runtime/jdk1.8.0_181 --这个不用设置,如果你有设置过java home的话
case $1 in
start) sudo /app/runtime/zookeeper-3.4.13/bin/zkServer.sh start;;
stop) sudo /app/runtime/zookeeper-3.4.13/bin/zkServer.sh stop;;
status) sudo /app/runtime/zookeeper-3.4.13/bin/zkServer.sh status;;
restart) sudo /app/runtime/zookeeper-3.4.13/bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart" ;;
Esac
将服务添加到开机启动。
chkconfig --add zookeeper
查看开机启动的服务。
chkconfig --list
9、启动/停止/重启ZooKeeper、查看状态和进程
使用系统服务,启动/停止/重启zookeeper,查看状态。
查看zookeeper状态
service zookeeper status
启动zookeeper
service zookeeper start
停止zookeeper
service zookeeper stop
重启zookeeper
service zookeeper restart
输入jps命令查看zookeeper进程。
[root@xinxin001 init.d]# jps
3712 Jps
3695 QuorumPeerMain
看到zookeeper进程QuorumPeerMain,启动正常。
使用zookeeper的bin目录下的脚本,启动/停止/重启zookeeper,查看状态。
zkServer.sh start
zkServer.sh stop
zkServer.sh restart
zkServer.sh status