zookeeper笔记

zookeeper

zk是什么?

  zk是一个高效的分布式协调服务
  zk在工作中不要存储大量的数据,可以放一些配置文件在其中
  zk是基于paxos,zab算法是实现的。其集群中所有数据是一样的 ,zk最少三个节点,最好是奇数,不影响paxos的选举
  zk少于半数不能继续工作,zk算法中有一个分布式锁,当消息没有接受完成时不会接受下一个任务

zk 配置文件

  /conf/zoo.cfg

心跳连接  

clientport=3000 对外端口号

#maxclientcnxns=60   默认情况连接不限制

server.2 代表第二个节点    2881:3881 同步数据端口号:选举端口号

实战

  解压到linux

  分布三台zookeeper1,zookeeper2,zookeeper3   三台在一台服务器上

第一步:

  1、进入zookeeper1的conf

    cd /zookeeper1/conf

  2、复制并更名

    cp zoo_sample.cfg zoo.cfg

  3、修改配置文件

    vi zoo.cfg

    dataDir=后面是你自己的data目录

    dataDir=/zookeeper1的路径/data    

    clientPort端口号多机不一样

    在最后面加上以下内容

    server.1=127.0.0.1:2880:3880

    server.2=127.0.0.1:2881:3881

    server.3=127.0.0.1:2883:3883

  4、进入zookeeper

    cd../

  5、新建一个空文件夹

     mkdir data

  6、进入这个文件夹

    cd data

  7、新建一个文件并进入

    vi myid

  8、输入相关内容,例如1

第二步:

  根据以上操作操作zookeeper2及3

第三步:

  所有zookeeper启动在bin下的

  ./zkServer.sh start

  之后检查配置谁是主,谁是从

  ./zkServer.sh status

  ./zkCli.sh 启动客户端

zkCli内置命令  其命令行有这类似于linux的命令

  查找: ls /

  创建并复制: create  / aaa nihao         # create 创建节点后面必须要赋值

  获取: get aaa

  设置值:set /aaa bnn

  删除节点:rmr aaa

  指定删除某个节点: delete /aaa/bbb

tips:

ctime 节点创建时间(第一次启动)
mtime 修改时间
cversion 版本
dataversion 数据修改第几次
aclversion ###
ephemeralowner ###
datalength 字节长度
numchildren 子节点数

---------------------------------------------------

注释:

server.1=192.168.60.150:2888:3888

server.2=192.168.60.151:2888:3888

server.3=192.168.60.152:2888:3888

# server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;

# B 是这个服务器的 ip 地址;

# C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;

# D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,

# 而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,

# 由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。

版权声明:本文原创发表于 博客园,作者为 RainBol 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。

原文地址:https://www.cnblogs.com/RainBol/p/9486036.html