zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Asp.Net MVC 体验 1
    myisamchk命令进行崩溃恢复Myisam数据表
    nginx 全局变量
    centos开机启动项设置命令:chkconfig
    redis info 参数说明
    PHP中Imagick的使用
    查看当前nginx、mysql的连接数
    wget参数及用法
    编辑器与IDE
    广州求职,工作经验>5.期待伯乐
  • 原文地址:https://www.cnblogs.com/gstsyyb/p/4008122.html
Copyright © 2011-2022 走看看