zookeeper树状结构图
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
zookeeper
1、分布式(选举机制)
2、是一个高效的分布式协调服务器
3、存储文件(配置文件(数据库配置文件、Apache配置文件))
- 配置文件:有多个服务器集群、tomcat、Apache、Redis、Mysql上可以进行集群,/tomcat/conf/server.xml 有这样一个配置文件如果搭建多个tomcat可以去拿这个统一修改。
- 保存集群下服务器的信息、状态:
- 10台机器都部署tomcat
-
- Nginx---》upstream{10.0.0.1 有很多服务器}
- 公司要加100台机器都部署tomcat 要去nginx一台一台修改? 要是有一个出问题是否要一个一个排查tomcat
- zk /tomcat/tomcat1
- /tomcat/tomcat2
- .........
- 一个循环遍历把它全部修改for i in range(x)》》》文件的io操作
-
集群模式:奇数—有一台机器是leader 其他机器是follower
集群有多台机器—保证查询每个机器的配置完整一致性
集群模式:奇数个节点—有一台机器是leader 双数节点是从的follower
zk安装解压—usr/local里
查看zk的目录
配置文件模板
修改一下模板名称
cp zoo_sample.cfg zoo.cfg
查看配置文件
修改文件位置到自己zk的目录
配置文件
server.1=127.0.0.1:2880:3880
server.2=127.0.0.1:2881:3881
server.3=127.0.0.1:2883:3883
创建myid目录
echo 1 > myid 打印1到myid文件
查看端口是否被占用netstat -lanp|grep 8080
启动zk———这个需要三台机器配置暂时没有全部配置完成—端口号不可以冲突
zk选举时—存活的机器一定是大于半数,如果达不到半数就会拒绝连接,可以查看日志zookeeper.out这个文件
tail -f zookeeper.out
启动后目录
ls /
create /test ningjq --创建个节 、
ls2 /test 查看
cZxid :
set /test ningjq1
get /test 查看值
rmr /test 删除节点
ls test应该没有节点了