Zookeeper集群安装

一 linux环境配置

虚拟机总共三台机器,ip分别是192.168.1.11,192.168.1.12,192.168.1.13

1.防火墙配置

关闭防火墙:systemctl stop firewalld.service
禁止防火墙自动启动:systemctl disable firewalld.service

2.安全配置

关闭selinux : setenforce 0
禁止selinux启动:vim /etc/selinux/config

SELINUX=disabled

3.配置host

vim /etc/hosts

192.168.1.11 node01
192.168.1.12 node02
192.168.1.13 node03

二 zookeeper安装

1.下载zookeeper

下载apache-zookeeper-3.5.5-bin.tar.gz并上传到三台虚拟机的/software下

image.png

2.解压apache-zookeeper-3.5.5-bin.tar.gz 并重命名

tar xf apache-zookeeper-3.5.5-bin.tar.gz -C /software/
mv apache-zookeeper-3.5.5-bin zookeeper 

3.配置

3.1在zookeeper目录下创建data和logs两个目录用于存储数据和日志:

mkdir  -p /software/zookeeper/{data,logs}

3.2配置环境变量 , 修改/etc/profile 文件

vim /etc/profile
export ZOOKEEPER_HOME=/software/zookeeper
export PATH=$ZOOKEEPER_HOME/bin:$PATH
source /etc/profile 

3.3 配置zoo.cfg
创建zoo.cfg 并修改权限

touch /software/zookeeper/conf/zoo.cfg
chmod 777  /software/zookeeper/conf/zoo.cfg

在zoo.cfg增加以下配置

tickTime=2000
dataDir=/software/zookeeper/data
dataLogDir=/software/zookeeper/logs
clientPort=2181
initLimit=5
syncLimit=2
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888
zookeeper.admin.serverPort=8081
 zoo.cfg详解:
        tickTime:   基本事件单元,以毫秒为单位。这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每隔 tickTime时间就会发送一个心跳。          
        
        dataDir:    存储内存中数据库快照的位置,顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。

        clientPort: 这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。

        initLimit:  这个配置项是用来配置 Zookeeper 接受客户端初始化连接时最长能忍受多少个心跳时间间隔数,
                    当已经超过 10 个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,
                    那么表明这个客户端连接失败。总的时间长度就是 10*2000=20 秒。
        
        syncLimit:  这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,
                    最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 5*2000=10 秒
        
        server.A = B:C:D 
                    A表示这个是第几号服务器,
                    B 是这个服务器的 ip 地址;
                    C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;
                    D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader


3.4服务器标识配置
在zookeeper的data目录下创建myid文件,并填写数字作为服务器的标识,不同机器的myid必须不同

192.168.1.11上配置

echo '1' >  /software/zookeeper/data/myid

192.168.1.12上配置

echo '2' > /software/zookeeper/data/myid

192.168.1.13上配置

echo '3' >  /software/zookeeper/data/myid

4.启动zookeeper集群

在三台机器上分别运行

zkServer.sh start

5.验证集群是否成功启动

5.1查看zookeeper的状态

zkServer.sh status
image.png

5.2数据测试
通过zookeeper客户端连接其中一台,并写入数据

zkCli.sh -server node02:2181
create /username tom

然后连接另一台,并查看有没有刚才插入的数据

zkCli.sh -server node03:2181
get /username
image.png
image.png

上图说明zookeeper集群模式部署成功

你可能感兴趣的:(Zookeeper集群安装)