Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。它不适合用来存储大量信息,可以用来存储一些配置、发布与订阅等少量信息。Hadoop、Storm、消息中间件、RPC服务框架、分布式数据库同步系统,这些都是Zookeeper的应用场景。
Zookeeper集群中节点个数一般为奇数个(>=3),若集群中Master挂掉,剩余节点个数在半数以上时,就可以推举新的主节点,继续对外提供服务。
zookeeper安装
首先把安装包传入虚拟机的/usr/local/soft目录中
1、上传安装包到master并解压(只在master上做)
tar -xvf zookeeper-3.4.6.tar.gz
2、配置环境变量(只在master上做)
vim /etc/profile
export ZOOKEEPER_HOME=/usr/local/soft/zookeeper-3.4.6
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile //环境变量生效
3、修改配置文件(只在master上做)
cd /usr/local/soft/zookeeper-3.4.6
cd conf
cp zoo_sample.cfg zoo.cfg
修改
dataDir=/usr/local/soft/zookeeper-3.4.6/data增加
server.0=master:2888:3888
server.1=node1:2888:3888
server.2=node2:2888:3888
4、同步到其它节点
scp -r zookeeper-3.4.6 node1:`pwd`
scp -r zookeeper-3.4.6 node2:`pwd`
配置node1和node2的环境变量
scp /etc/profile node1:/etc/
scp /etc/profile node2:/etc/在所有节点执行
source /etc/profile
5、创建/usr/local/soft/zookeeper-3.4.6/data目录,所有节点都要创建
mkdir /usr/local/soft/zookeeper-3.4.6/data
在data目录下创建myid文件
vim myid
master,node1,node2分别加上0,1,2
6、启动zk
zkServer.sh start 三台都需要执行
zkServer.sh status 查看状态
当有一个leader的时候启动成功
连接zk
zkCli.sh
zk 是一个目录结构 ,每个节点可以存数据,同时可以有子节点
安装完成。
部分操作:
zk shell
创建目录
create /test test
create /test/a 1
获取数据
get /test
ls /test
delete 只能删除没有子节点的节点
rmr /test 删除节点
重置zk
1、杀掉所有zk进程
kiil -9 pid
2、删除data目录下的version文件, 所有节点都要删除
rm -rf /usr/local/soft/zookeeper-3.4.6/data/version-2
2、启动zk
zkServer.sh start