Zookeeper Basic
Zookeeper 简介
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
ZooKeeper包含一个简单的原语集,提供Java和C的接口。
ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在$zookeeper_home\src\recipes
。其中分布锁和队列有Java和C两个版本,选举只有Java版本。
详细参考官方WiKi:https://cwiki.apache.org/confluence/display/ZOOKEEPER/Index
ZK 安装
:information_source:zk
依赖于 java 环境,所以需要提前配置好 java 环境,在此不再详细说明。
首先从官网获取zk二进制安装包:https://zookeeper.apache.org/releases.html
下载所需版本并对其解压缩:
作为独立节点启动:
为 ZK 创建数据目录和日志存放目录:
复制zoo_sample.cfg
样例文件并更名为zoo.cfg
:
启动 ZooKeeper:
连接到 ZooKeeper:
详细命令参考:https://zookeeper.apache.org/doc/r3.6.1/zookeeperCLI.html
集群搭建
修改配置文件,大致内容如下所示:
在/data/zookeeper
目录下创建一个myid
文件用于记录该 zookeeper 在集群中的id:
同样在134
和136
主机上进行类似操作:
最后在三台主机上分别启动zk
:
查看当前主机角色:
使用zkcli
连接某一主机:
测试:
zkcli 常用操作
zoo.cfg 文件详解
参考资料