Zookeeper分布式安装部署及如何配置参数问题

一、Zookeeper的特性:

1、顺序一致性 - 客户端的更新将按发送顺序

2、原子性 - 更新成功或失败 没有部分结果

3、单系统映像 - 无论服务器连接到哪个服务器 客户端都能看到相同的数据

4、可靠性 - 一旦应用了更新 它将从那时器持续到客户端覆盖更新

5、及时性 - 系统的客户视图保证在特定的时间范围内是最新的

二、Zookeeper的节点类型:

1、持久节点(PERSISTENT)
持久节点,创建后一直存在,直到主动删除此节点。

2、持久顺序节点(PERSISTENT_SEQUENTIAL)
持久顺序节点,创建后一直存在,直到主动删除此节点。在ZK中,每个父节点会为它的第一级子节点维护一份时序,记录每个子节点创建的先后顺序。

3、临时节点(EPHEMERAL)
临时节点在客户端会话失效后节点自动清除。临时节点下面不能创建子节点。

4、顺序临时节点(EPHEMERAL_SEQUENTIAL)
临时节点在客户端会话失效后节点自动清除。临时节点下面不能创建子节点。父节点getChildren会获得顺序的节点列表。

Zookeeper 的每个祭奠都有三个 zxid 值:cZxid、mZxid 和 pZxid

cZxid

    对应为该节点的创建时间(Create)

mZxid

    对应该节点的最近一次修改的时间(Mofify)

    与其子节点无关

pZxid

    这个节点就和子节点有关啦!

    是与 该节点的子节点(或该节点)的最近一次 创建 / 删除 的时间戳对应,修改不会生成新的事务ID

    注:只与 本节点 / 该节点的子节点,有关;与孙子节点无关。

三、分布式安装

1、集群实例 zk01、zk02、zk03、zk04、zk05

2、下载安装包并解压

[root@VM_10_179_centos ~]# tar -zxvf zookeeper-3.5.7.tar.gz  /opt/soft/

[root@VM_10_179_centos ~]# cd  zookeeper-3.5.7/conf

[root@VM_10_179_centos ~]# cp -p zoo_sample.cfg zoo.cfg

[root@VM_10_179_centos ~]# vim zoo.cfg

配置持久化路径 dataDir=/opt/soft/zookeeper-3.5.7/zkData

说明:2888端口leader 接受write的请求,3888端口选举投票用

在文件末尾增加如下

增加如下配置

#######################cluster##########################
server.1=zk01:2888:3888
server.2=zk02:2888:3888
server.3=zk03:2888:3888
server.4=zk04:2888:3888
server.5=zk05:2888:3888

在持久化/opt/soft/zookeeper-3.5.7/zkData目录下创建myid文件

[root@VM_10_179_centos ~]# touch myid

[root@VM_10_179_centos ~]# vim myid

[root@VM_10_179_centos ~]# 1

类似在zk02、zk03、zk04、zk05,增加对应的myid文件对应的内容2、3、4、5

启动集群:各自实例上启动

[root@VM_10_179_centos ~]# bin/zkServer.sh start

四、zoo.cfg配置文件参数解读
Zookeeper中的配置文件zoo.cfg中参数含义解读如下:

tickTime =2000:通信心跳数,Zookeeper服务器与客户端心跳时间,单位毫秒
Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。
它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime)

initLimit =10:LF初始通信时限
集群中的Follower跟随者服务器与Leader领导者服务器之间初始连接时能容忍的最多心跳数(tickTime的数量),用它来限定集群中的Zookeeper服务器连接到Leader的时限。

syncLimit =5:LF同步通信时限
集群中Leader与Follower之间的最大响应时间单位,假如响应超过syncLimit * tickTime,Leader认为Follwer死掉,从服务器列表中删除Follwer。

dataDir:数据文件目录+数据持久化路径
主要用于保存Zookeeper中的数据。

clientPort =2181:客户端连接端口
监听客户端连接的端口。

五、zookeeper的集群启动脚本(扩展)

vim startZk.sh

./startZk.sh start

#!/bin/bash
s=""
case $1 in
"start")
        s=start
        ;;
"stop")
        s=stop
        ;;
"status")
        s=status
        ;;
*)
        echo "args are error!!"
        exit
        ;;
esac

for host in zk02 zk03 zk04 zk05
do
        echo "=========================$host========================"
        ssh $host zkServer.sh $s
done

六、scp 拷贝到其他机器实例去(扩展

/opt/soft/zookeeper-3.5.7/目录下拷贝到 zk02当前的目录

scp -r /opt/soft/zookeeper-3.5.7/    zk02:/opt/soft/zookeeper-3.5.7/

备注:在/etc/profile

加入如下 黑色字体

export ZOOKEEPER_HOME=/opt/soft/zookeeper-3.5.7

export PATH=$PATH:$JAVA_HOME:$ZOOKEEPER_HOME/bin

. /etc/profile 或是 source /etc/profile

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值