zookeeper安装和部署
一、zookeeper安装
1、基本环境:vbox+centos7
2、准备工作:
安装java环境:yum -y install java
安装wget:yum -y install wget
(可选)安装vim:yum -y install vim*
3、下载zookeeper
进入下载目录: cd /usr/local
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
其他下载地址:http://us.mirrors.quenda.co/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
下载成功后,解压到当前文件夹 :tar -zxvf zookeeper-3.4.14.tar.gz,效果如下:
4、问题说明:若解压失败报:
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
可通过命令查看下载文件类型 :file zookeeper-3.4.14.tar.gz,正确类型如下:
若不是压缩文件类型,可删除下载文件,重新找其他地址下载
二、zookeeper单机启动
1、修改配置
进入解压文件,拷贝示例配置文件,作为默认配置
cd zookeeper-3.4.14
cp conf/zoo_sample.cfg conf/zoo.cfg
编辑zoo.cfg文件:vim conf/zoo.cfg
修改dataDir值为:/usr/local/zookeeper-3.4.14/data
添加:dataLogDir=/usr/local/zookeeper-3.4.14/log
添加:server.1=本机ip:2888:3888
2888是该server和集群中的leader通信端口,3888是选举leader的端口
创建dataDir目录:mkdir data
创建dataLogDir目录:mkdir log
创建myid文件:touch data/myid
编辑myid文件:vim data/myid ,保存数据 1
2、启用zookeeper服务
启用服务:bin/zkServer.sh start
查看服务启用状态:bin/zkServer.sh status
单机模式:standalone
3、打开本地客户端
bin/zkCli.sh
或者 bin/zkCli.sh -server localhost:2181 ,
或者 bin/zkCli.sh -server 127.0.0.1:2181
4、访问远程zookeeper服务报错问题:
解决:
方法一、服务端防火墙关闭:systemctl stop firewalld
方法二、开放zookeeper相关端口
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
三、zookeeper集群部署
1、准备3台服务器或者虚拟机,各自部署好单机模式(或者通过scp命令将zookeeper配置分发其他节点)
·2、3台机器上myid保存的数据分别为1,2,3,与3台机器上的zoo.cfg配置对应
3、将3台机器的zookeeper服务启用
4、查看3台机器zookeeper的启用状态,发现01机器(启动服务的第一台机器)为leader,其他两个为follower
5、登录集群客户端
随机分配ip,可测试添加一个节点,会发现,所有机器上的zookeeperd都会同步
6、关闭01机器作为leader的zookeeper服务,查看另两台zookeeper状态
leader机器服务关闭后,leader角色随机分配给了03机器,登录集群客户端,也不再分配01机器
7、重新启用01机器的zookeeper服务
01机器作为follower角色,添加进集群,并且会同步集群的最新数据
四、参考资料:https://blog.csdn.net/qq_38591756/article/details/82828993