Zookeeper分布式协调服务
1.zookeeper是一个分布式协调的服务。
2.安装zookeeper的软件的机器,我们称之为zk server
3.zk里面的角色有leader、follower、observer,注意只有一个leader。
4.zk的的数据存储在内存与硬盘上面、数据结构类似与文件系统,同时每个zk server里面的数据都是一致的,也就是一份完整的副本。
5.读取数据只需在角色为follower里面读取,而写数据请求给leader决定是不是写,如果写半数以上的follower写成功即可,因为后期数据会同步,保证zk机器上的数据都是一致的
6.zk本质就是一个数据存储,数据存储在内存(WAL+内存的模式),所以数据读取写入很快,同时为了保证安全,有日志定时写入,最后刷入磁盘。
7.zk主要的一个功能就是机器存活的检测、配置同步处理、分布式锁、master-slave选举,当然原理必须了解,其次就是提供了一套java的编程模型实现这些功能。
8.zk的所有功能基于数据存储,所以说zk就是一个db,只不过存储的数据非常少,数据不能太大,这些数据主要是元数据。
9.hbase、storm为了保证数据安全,一些master节点需要的元数据 存储到zk里面,保证master挂掉数据不会丢失。
10.zk集群可以共享,没必要所有的集群机器都装zk软件,只需要一个zn+1个机器输量的机器即可构成一个共享的zk集群。其他集群仅仅连接zk即可,存储共享元数据到zk。
11.zk提供共享元数据同步、同时就是他的观察者模式实现
===================================================================================================
1、zk的四字命令,利用这些命令,我们可以监控注册在zk上面的节点信息
1. 可以通过命令:echo stat|nc 127.0.0.1 2181 来查看哪个节点被选择作为follower或者leader
2. 使用echo ruok|nc 127.0.0.1 2181 测试是否启动了该Server,若回复imok表示已经启动。
3. echo dump| nc 127.0.0.1 2181 ,列出未经处理的会话和临时节点。
4. echo kill | nc 127.0.0.1 2181 ,关掉server
5. echo conf | nc 127.0.0.1 2181 ,输出相关服务配置的详细信息。
6. echo cons | nc 127.0.0.1 2181 ,列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。
7. echo envi |nc 127.0.0.1 2181 ,输出关于服务环境的详细信息(区别于 conf 命令)。
8. echo reqs | nc 127.0.0.1 2181 ,列出未经处理的请求。
9. echo wchs | nc 127.0.0.1 2181 ,列出服务器 watch 的详细信息。
10. echo wchc | nc 127.0.0.1 2181 ,通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。
11. echo wchp | nc 127.0.0.1 2181 ,通过路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。
注意:使用上述的命令我们可以采用编程的模式检测zk集群的信息,比如zk的管理平台
2、zk其他的命令
3 常用命令
3 常用命令
3.1. 启动ZK服务: bin/zkServer.sh start
3.2. 查看ZK服务状态: bin/zkServer.sh status
3.3 停止ZK服务: bin/zkServer.sh stop
3.4. 重启ZK服务: bin/zkServer.sh restart
3.5 连接服务器 zkCli.sh -server 127.0.0.1:2181
3.6 查看根目录 ls /
3.7 创建 testnode节点,关联字符串"zz" create /zk/testnode "zz"
3.8 查看节点内容 get /zk/testnode
3.9 设置节点内容 set /zk/testnode abc
4.0 删除节点 delete /zk/testnod
Zookeeper分布式协调服务的更多相关文章
- ZooKeeper 分布式协调服务介绍
0. 说明 从自己的独立博客迁移,该部分为 Zookeeper分布式协调服务介绍 原文链接 ZooKeeper 指南 1. ZooKeeper 简介 [官方介绍] ZooKeeper 是一种集中式服 ...
- zookeeper 分布式协调服务
分布式协调服务作用是将多机协调的职责从分布式应用中独立出来,以减少系统的耦合性和增加扩展性. 而zookeeper采用分布式中经典的主从架构:master->slave,通常以动态的存储分布式应 ...
- zookeeper分布式协调服务的使用一
Zookeeper是一个高性能,分布式的应用协调服务. 提供服务: 1.集群成员的管理(Group Membership) 2.分布式锁(Locking) 3.选主(Leader Election) ...
- 分布式系统理论基础8:zookeeper分布式协调服务
本文转自 https://www.cnblogs.com/bangerlee/p/5268485.html 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到 ...
- 分布式协调服务-Zookeeper
什么是 zookeeper? Zookeeper 是google的chubby一个开源实现,是hadoop的分布式协调服务 它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 ...
- 分布式协调服务Zookeeper集群之ACL篇
分布式协调服务Zookeeper集群之ACL篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.zookeeper ACL相关知识概览 1>.zookeeper官方文档(h ...
- 分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比
分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. JMX是用来远程监控Java应用的框架,这个也可以用来监控其他的J ...
- 分布式协调服务Zookeeper集群搭建
分布式协调服务Zookeeper集群搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装jdk环境 1>.操作环境 [root@node101.yinzhengjie ...
- 分布式协调服务Zookeeper扫盲篇
分布式协调服务Zookeeper扫盲篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 身为运维工程师对kubernetes(k8s)可能比较熟,那么etcd(go语言实现)分布式协 ...
随机推荐
- SQL SERVER 只有MDF文件的恢复
方式一: .create a database same name as .mdf file; .Stop SQL Server; . recover .mdf file; . Start SQL S ...
- EV电池指标及特点
在电池的大家族中,蓄电池的种类是最多的,共同的特点是可以经历多次充电.放电循环,反复使用,这也正是蓄电池作为电动汽车动力源的基础.当然,并不是所有的蓄电池都适合应用于电动汽车,从全球新能源汽车的发展来 ...
- [原]对Linux环境下任务调度一点认识
我一直以来有一个误解,那就是在终端运行某个程序时,按下Ctrl + D时我误以为就是杀死了这个进程,今天才知道原来不是.比如我利用libevent在Linux环境下写了一个网络监听程序,当启动程序之后 ...
- 剑指offer系列22--二叉树中和为某一值的路径
22[题目]输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径. * 路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径 * [思路]只要从根结点到叶结点一条一条遍 ...
- linux下进程、端口号相互查看方法
linux下通过进程名查看其占用端口: 1.先查看进程pid ps -ef | grep 进程名 2.通过pid查看占用端口 netstat -nap | grep 进程pid 例:通过nginx进程 ...
- Understanding and Managing SMTP Virtual Servers
Simple Mail Transfer Protocol (SMTP) Service Overview The Simple Mail Transfer Protocol (SMTP) servi ...
- Linux LVM简明教程
逻辑卷管理LVM是一个多才多艺的硬盘系统工具.无论在Linux或者其他类似的系统,都是非常的好用.传统分区使用固定大小分区,重新调整大小十分麻烦.但是,LVM可以创建和管理“逻辑”卷,而不是直接使用物 ...
- Android四:sqllite
1.扩展类SQLiteOpenHelper xxSQLiteHelper extends SQLiteOpenHelper public xxSQLiteHelper(Context context, ...
- eclipse调试总结(转)
Debug视图 认识debug视图,红色部分框为线程堆栈视图,黄色部分框为表达式.断点.变量视图,蓝色部分为代码视图. 线程堆栈视图 分别介绍一下这几个按钮的含义: 1.表示当前实现继续运行直到下一 ...
- 7. redis优化
一. redis使用上的优化 精简键名和键值 键名:尽量精简,但是也不能单纯为了节约空间而使用不易理解的键名. 键值:对于键值的数量固定的话可以使用0和1这样的数字来表示,(例如:male/femal ...