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 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。