⭐Zookeeper笔记
结合自己的实际使用及网上的使用教程对Zookeeper实际操作进行整理说明
🐶安装说明:
z o o k e e p e r — 3.8.0 ( z o o k e e p e r 服务器集群) \textcolor{green}{zookeeper — 3.8.0(zookeeper服务器集群)} zookeeper—3.8.0(zookeeper服务器集群)
安装包地址:链接
提取码:h79f
安装方法:下载到服务器指定目录,解压即可
🐶配置服务器zookeeper集群
🐱集群配置要求
zookeeper配置集群原则:在生产环境中,最好部署3,5,7个节点。部署的越多,可靠性就越高,当然只能部署奇数个,偶数个是不可以的。(ps:试过偶数个节点配置集群也是可以的)
环境要求:服务器需要有JDK环境
# 验证服务器是否有java环境
java -version
实例列表:以下服务器ip为示例,换为自己的服务器ip
服务器列表 | 服务器ip | 是否安装jdk |
---|---|---|
服务器1 | 10.204.20.1 | 是 |
服务器2 | 10.204.20.2 | 是 |
服务器3 | 10.204.20.3 | 是 |
🐱!!集群配置步骤!!
1、分别使用服务器连接工具连接各个服务器
2、建立工作目录
mkdir -p /usr/local/zookeeper/dataDir/log
各个目录及作用
/usr/local/zookeeper:存放zookeeper
/usr/local/zookeeper/dataDir:存放数据
/usr/local/zookeeper/dataDir/log:存放日志
3、本地上传或服务器下载安装包(两种方法按照服务器情况选择一种安装)
-
本地上传安装包方式
# 下载链接:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz # 使用服务器文件上传工具上传压缩包至zookeeper存放目录下 # /usr/local/zookeeper
-
服务器下载方式
# 进入zookeeper存放位置 cd /usr/local/zookeeper # 下载安装包 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz
4、新增实例文件
# 10.204.20.1服务器下
echo "1" > /usr/local/zookeeper/dataDir/myid
# 10.204.20.2服务器下
echo "2" > /usr/local/zookeeper/dataDir/myid
# 10.204.20.3服务器下
echo "3" > /usr/local/zookeeper/dataDir/myid
myid文件后续zoo.cfg中使用
5、修改zookeeper配置文件(三台机器都执行操作)
# 进入zookeeper配置文件存放目录下
cd /usr/local/zookeeper/apache-zookeeper-3.8.0-bin/conf
# 将配置文件拷贝一份重命名为zoo.cfg
cp zoo_sample.cfg zoo.cfg
# 编辑zoo.cfg文件
vim zoo.cfg
按i键进行编辑模式,依以下配置按原有配置文件进行添改(三台机器分别执行一次)
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/dataDir
server.1=10.204.20.1:2888:3888
server.2=10.204.20.2:2888:3888
server.3=10.204.20.3:2888:3888
clientPort=2181
maxClientCnxns=60
编辑完成后依次按esc键 : w q !键强制保存退出
6、关闭防火墙
# 关闭
systemctl stop firewalld
# 开启
systemctl start firewalld
# 查看状态
systemctl status firewalld
7、ip地址映射
vim /etc/hosts
按i键进行编辑模式,将服务器ip与zoo.cfg对应添加进去(三台机器分别执行一次)
例:
10.204.20.1 10.204.20.1
10.204.20.2 10.204.20.2
10.204.20.3 10.204.20.3
编辑完成后依次按esc键 : w q !键强制保存退出
8、刷新zookeeper配置
# 刷新配置
systemctl daemon-reload
9、启动及验证zookeeper节点连接状态(三台机器都执行操作)
# 进入zookeeper bin目录下
cd /usr/local/zookeeper/apache-zookeeper-3.8.0-bin/bin
# 启动zookeeper服务
./zkServer.sh start
# 查看zookeeper状态
./zkServer.sh status
# 若集群三个节点zookeeper状态分别由一个leader及两个follower则为正常
10、测试zookeeper连接
./zkCli.sh -server 服务器ip:2181
# 例:连接10.204.20.1节点
./zkCli.sh -server 10.204.20.1:2181
# 表示连接成功
...
省略
...
[zk: 10.204.20.1:2181(CONNECTED) 0]
❓报错及解决方法
Q:zookeeper启动正常,查看zookeeper状态显示Error contacting service. It is probably not running?
Error contacting service. It is probably not running.
A:可能是进程端口号被占用
# 分别查看每个服务器下占用2181端口号的进程
lsof -i:2181
# 每个服务器都先关闭占用端口号进程
kill 进程id
# 重新启动每个服务器的zookeeper服务
./usr/local/zookeeper/apache-zookeeper-3.8.0-bin/bin./zkServer.sh restart
# 服务器zookeeper服务都开启后再分别在每台服务器下查看zookeeper状态
./usr/local/zookeeper/apache-zookeeper-3.8.0-bin/bin./zkServer.sh status
#查看状态是否正常
🔖参考资料:
1、(178条消息) zookeeper集群搭建详细步骤_dnice的博客-CSDN博客_zookeeper集群搭建步骤