ZooKeeper分布式专题与Dubbo微服务入门(一)

2018-04-12  本文已影响435人  AKyS佐毅

1、Zookeeper简介

2、什么是分布式系统


3、分布式系统的瓶颈以及zk的相关特性

4、Zookeeper中zoo.cfg配置

5、Zookeeper基本数据类型

6、zk的作用体现

7、Linux的ZK客户端命令行学习

ZooKeeper -server host:port cmd args
    stat path [watch]   //stat命令用于查看节点的状态信息
    set path data [version]  //set命令用于设置节点的数据
    ls path [watch]     //ls命令用于获取路径下的节点信息,注意路径为绝对路径
    delquota [-n|-b] path //delquota命令用于删除配额,-n为子节点个数,-b为节点数据长度
    ls2 path [watch]    //ls2命令是ls命令的增强版,比ls命令多输出本节点信息
    setAcl path acl     // setAcl命令用于设置节点Acl,Acl由三部分构成:1为scheme,2为user,3为permission,一般情况下表示为scheme:id:permissions
    setquota -n|-b val path  //setquota命令用于设置节点个数以及数据长度的配额
    history             //history用于列出最近的命令历史,可以和redo配合使用
    redo cmdno          //redo命令用于再次执行某个命令
    printwatches on|off  //printWatchers命令用于设置和显示监视状态,值为on或则off
    delete path [version]  //delete命令用于删除节点,如delete /nodeDelete
    sync path           //sync命令用于强制同步,由于请求在半数以上的zk server上生效就表示此请求生效,那么就会有一些zk server上的数据是旧的。sync命令就是强制同步所有的更新操作。
    listquota path       //查看指定znode的配额
    rmr path             //递归删除
    get path [watch]     //get命令用于获取节点的信息,注意节点的路径必须是以/开头的绝对路径。如get /
    create [-s] [-e] path data acl   //create命令用于创建节点,其中-s为顺序充点,-e临时节点
    addauth scheme auth  //addauth命令用于节点认证,使用方式:如addauth digest username:password
    quit                 //退出客户端
    getAcl path          //获取节点的Acl,如getAcl /node1
    close                //close命令用于关闭与服务端的链接
    connect host:port    //连接zk服务端,与close命令配合使用可以连接或者断开zk服务端

返回信息的具体含义

    cZxid = 0x0       //节点创建时的zxid
    ctime = Thu Jan 01 08:00:00 CST 1970   //节点创建时间
    mZxid = 0x0       //节点最近一次更新时的zxid
    mtime = Thu Jan 01 08:00:00 CST 1970   //节点最近一次更新的时间
    pZxid = 0x2c      //子节点的id
    cversion = 10     //子节点数据更新次数
    dataVersion = 0   //本节点数据更新次数
    aclVersion = 0    //节点ACL(授权信息)的更新次数
    ephemeralOwner = 0x0  //如果该节点为临时节点,ephemeralOwner值表示与该节点绑定的session id. 如果该节点不是临时节点,ephemeralOwner值为0
    dataLength = 0    //节点数据长度,本例中为hello world的长度
    numChildren = 10  //子节点个数

8、Zookeeper-session的基本原理

9、Zookeeper-watcher机制

10、watcher使用场景

11、ACL权限控制

12、Zookeeper四字命令 Four Letter Words

echo stat | nc localhost 2181

Zookeeper version: 3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
Clients:
 /127.0.0.1:52506[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/32
Received: 1260
Sent: 1264
Connections: 1
Outstanding: 0
Zxid: 0x5a
Mode: standalone
Node count: 33
echo ruok | nc localhost 2181

imok
echo dump | nc localhost 2181

SessionTracker dump:
Session Sets (0):
ephemeral nodes dump:
Sessions with Ephemerals (0):
echo conf | nc localhost 2181

clientPort=2181
dataDir=/developer/setup/zookeeper-3.4.10/data/version-2
dataLogDir=/developer/setup/zookeeper-3.4.10/logs/version-2
tickTime=2000
maxClientCnxns=60
minSessionTimeout=4000
maxSessionTimeout=40000
serverId=0
echo cons | nc localhost 2181

 /127.0.0.1:52570[0](queued=0,recved=1,sent=0)
echo envi | nc localhost 2181

Environment:
zookeeper.version=3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
host.name=localhost
java.version=1.8.0_161
java.vendor=Oracle Corporation
java.home=/usr/java/jdk1.8.0_161/jre
java.class.path=/developer/setup/zookeeper-3.4.10/bin/../build/classes:/developer/setup/zookeeper-3.4.10/bin/../build/lib/*.jar:/developer/setup/zookeeper-3.4.10/bin/../lib/slf4j-log4j12-1.6.1.jar:/developer/setup/zookeeper-3.4.10/bin/../lib/slf4j-api-1.6.1.jar:/developer/setup/zookeeper-3.4.10/bin/../lib/netty-3.10.5.Final.jar:/developer/setup/zookeeper-3.4.10/bin/../lib/log4j-1.2.16.jar:/developer/setup/zookeeper-3.4.10/bin/../lib/jline-0.9.94.jar:/developer/setup/zookeeper-3.4.10/bin/../zookeeper-3.4.10.jar:/developer/setup/zookeeper-3.4.10/bin/../src/java/lib/*.jar:/developer/setup/zookeeper-3.4.10/bin/../conf:.:/usr/java/jdk1.8.0_161/jre/lib/rt.jar:/usr/java/jdk1.8.0_161/lib/dt.jar:/usr/java/jdk1.8.0_161/lib/tools.jar
java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
java.io.tmpdir=/tmp
java.compiler=<NA>
os.name=Linux
os.arch=amd64
os.version=2.6.32-696.6.3.el6.x86_64
user.name=root
user.home=/root
user.dir=/developer/setup/zookeeper-3.4.10/bin
echo mntr | nc localhost 2181

zk_version  3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
zk_avg_latency  0
zk_max_latency  32
zk_min_latency  0
zk_packets_received 1266
zk_packets_sent 1270
zk_num_alive_connections    1
zk_outstanding_requests 0
zk_server_state standalone
zk_znode_count  33
zk_watch_count  0
zk_ephemerals_count 0
zk_approximate_data_size    766
zk_open_file_descriptor_count   31
zk_max_file_descriptor_count    65535
echo wchs | nc localhost 2181

0 connections watching 0 paths
Total watches:0

微信扫码关注java技术栈,获取Java面试题和架构师相关题目和视频。

上一篇 下一篇

猜你喜欢

热点阅读