java程序员-http://www.it-ebooks.info/

年轻的我,脚踩大地,仰望天空,路还很长....

博客园 首页 新随笔 联系 订阅 管理

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

posted on 2014-10-06 12:39  gstsyyb  阅读(175)  评论(0编辑  收藏  举报