简介
Zookeeper是一个分布式协调服务,有以下常见的使用场景
- 统一配置服务
- 主从选举
- 分布式共享锁
- 分布式队列
- 节点都上/下线
Zookeeper的特性
- 最终一致性:保证最终数据能够达到一致性,这是zookeeper的最重要功能
- 顺序性:从一个客户端发起的事物请求,最终会严格的按照其发送顺序被应用到zookeeper
- 可靠性:一旦服务器成功的应用一个事物,并完成来客户端的响应,那么该事物引起的服务端状态变更将会被一直保留下去
- 实时性:zookeeper不能保证两个客户端能同时得到刚更新的数据,如果需要最新的数据,应该在读数据之前调用sync接口
- 单一视图:无论客户端连接哪个服务器,看到的数据模型都是一致的
Zookeeper安装
- 准备机器
node01, node02, node03
安装好jdk - 下载zookeeper安装文件
http://zookeeper.apache.org/releases.html - 上传安装文件到服务器(先上传到其中一个节点)
- 解压
tar -xzvf zookeeper-3.4.5.tar.gz - 重命名
mv zookeeper-3.4.5 zookeeper - 修改环境变量
su root
vim /etc/profile
export ZOOKEEPER_HOME=/home/hadoop/application/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
7.重新编译配置文件
source /etc/profile
8.修改配置文件
cd conf
cp zoo_template.cfg zoo.cfg
vim zoo.cfg
dataDir=/home/hadoop/application/zookeeper/data
dataLogDir=/home/hadoop/application/zookeeper/log
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888 - 创建目录
cd /home/hadoop/application/zookeeper/
mkdir data
mkdir log - 在data目录下创建myid文件,并写入id
echo “1” >> myid - 将zookeeper安装包发送到另外两台机器上
- 修改/etc/profile,配置zookeeper环境变量
- 修改另外两台到myid文件内容为2,3
- 启动三台zookeeper server
zkServer.sh start