Zookeeper简介
Zookeeper基本概念
单机搭建
伪集群搭建
ZooKeeper 是一个集中式服务,用于维护配置信息,命名,提供分布式同步和提供组服务.
如图:
数据节点(Znode)
"节点"分为两类,一个是构成集群的机器,称为机器节点.另一个是数据模型中的数据单元—>Znode,如图/app1/p_1,每个Znode上都会保存自己的数据内容,同时还会保存一系列属性信息.
CREATE:创建子节点的权限
READ:获取节点数据和子节点列表的权限
WRITE:更新节点数据的权限
DELETE:删除子节点的权限
ADMIN:设置节点ACL的权限
其中CREATE和DELETE是针对子节点的权限控制
单机模式:Zookeeper只运行在一台服务器上,适合测试环境
下载Zookeeper3.7.1最新稳定版本(linux)
上传并解压
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz
进入并创建data文件夹,用于存放zookeeper快照文件和日志信息的
cd apache-zookeeper-3.7.1-bin
mkdir data
进入 /conf中,重命名配置文件 zoo_sample.cfg 为 zoo.cfg
cd conf/
mv zoo_sample.cfg zoo.cfg
编辑zoo.cfg,指定快照文件和日志的输出目录
vim zoo.cfg
cd ../bin/
./zkServer.sh start
./zkServer.sh status
单机搭建完成
伪集群即模拟集群模式,也就是将不同实例运行在同一台机器上,用端口进行区分,伪集群模式可以为测试提供更高的可行性和实验效率.
注意:3个zookeeper实例端口需区分,还需在dataDir发对应的目录中创建myid文件夹来指定对应的zookeeper实例
首先回到 /bin目录,将zookeeper停掉,并查询状态.
./zkServer.sh stop
./zkServer.sh status
为了结构干净,创建zookeeper文件夹,将其解压后的3个zookeeper放入其中,我采用先rm在解压到新的路径下
rm -rf apache-zookeeper-3.7.1-bin
mkdir zookeeper
tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C zookeeper //-C指定解压到某个文件夹
重命名为 apache-zookeeper-3.7.1-bin01并复制两份02和03
mv apache-zookeeper-3.7.1-bin apache-zookeeper-3.7.1-bin01
cp -r apache-zookeeper-3.7.1-bin01 apache-zookeeper-3.7.1-bin02
cp -r apache-zookeeper-3.7.1-bin01 apache-zookeeper-3.7.1-bin03
分别在3个zookeeper中创建data和data中的logs文件夹
mkdir data
cd data
mkdir logs
修改每个配置文件名称,端口号和存放路径
cd ../conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg
在每个zookeeper的data目录下创建文件myid,内容分别为1,2,3,并在给每个zookeeper的zoo.cfg配置客户端访问端口和集群服务器ip列表
touch myid
分别启动zookeeper服务,并查看状态
./zkServer.sh start
./zkServer.sh status
伪集群搭建完毕
其他章节 -> 跳转
end...