Zookeeper 是一个针对分布式应用程序的分布式开源协调服务,分布式应用可以在这些服务的基础上构建更高级的同步,配置维护,组和命名服务
Zookeeper允许分布式进程通过共享的分层空间相互协调
中间件 提供协调服务
作用于分布式系统
支持Java 通过java和C语言的客户端api
特性
- 顺序一致性
- 原子性
- 单一视图
- 可靠性
- 及时性
简单的api
create
在树种某个位置创建节点delete
删除一个节点exist
测试某个位置节点状态get data
获取节点数据set data
将数据写入节点get children
检索节点数据sync
等待数据传播
介绍
官网下载地址 :download
# 下载 bin
wget https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1-bin.tar.gz
# 解压文件
tar -zxvf apache-zookeeper-3.9.1-bin.tar.gz
# 目录结构
# bin conf docs lib LICENSE.txt logs NOTICE.txt README.md README_packaging.md
# 生成配置文件
# 进入 conf
cp zoo_sample.cfg zoo.cfg
# 进入 bin 目录
# 启动 zookeeper
./zkServer.sh start
# zkCli.sh
./zkCli.sh -server 127.0.0.1:2181
zoo.cfg 配置说明
- tickTime 用于计算的时间单元
- initLimit 用于集群,允许 从节点连接 并同步到master节点的初始化连接时间.以tickTime的倍数来表示
- syncLimit 用于集群 master主节点与从节点之间发送消息,请求和应答时间长度(心跳机制)
- dataDir 必须配置
- dataLogDir 日志文件
- clientPort 连接服务器的端口