irpas技术客

二、Zookeeper单机模式安装_sun_lm_zookeeper单机模式安装

网络投稿 3807

1、下载地址

官网首页:Apache ZooKeeper

2、单机模式安装 2.1、安装前准备 安装JDK拷贝Zookeeper安装包apache-zookeeper-3.6.3-bin.tar.gz到Linux机器上面解压到/opt/zookeeper/目录: tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt/zookeeper/ 2.2、修改配置

将/opt/zookeeper/apache-zookeeper-3.6.3-bin/conf这个路径下的 zoo_sample.cfg 修改为 zoo.cfg

[root@VM-20-13-centos conf]# mv zoo_sample.cfg zoo.cfg

打开 zoo.cfg 文件,修改 dataDir 路径:

[root@VM-20-13-centos conf]# vim zoo.cfg

修改如下内容:

dataDir=/opt/zookeeper/apache-zookeeper-3.6.3-bin/zkData

在/opt/zookeeper/apache-zookeeper-3.6.3-bin/这个目录上创建 zkData 文件夹

[root@VM-20-13-centos apache-zookeeper-3.6.3-bin]# mkdir zkData 3、操作Zookeeper 3.1、启动Zookeeper服务端 [root@VM-20-13-centos bin]# ./zkServer.sh start /usr/bin/java ZooKeeper JMX enabled by default Using config: /opt/zookeeper/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [root@VM-20-13-centos bin]# jps 8272 QuorumPeerMain 8363 Jps [root@VM-20-13-centos bin]# ./zkServer.sh status /usr/bin/java ZooKeeper JMX enabled by default Using config: /opt/zookeeper/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfg Client port found: 2181. Client address: localhost. Client SSL: false. Mode: standalone [root@VM-20-13-centos bin]# 3.2、启动Zookeeper客户端 [root@VM-20-13-centos apache-zookeeper-3.6.3-bin]# bin/zkCli.sh 3.3、退出客户端 [zk: localhost:2181(CONNECTED) 0] quit 3.4、停止Zookeeper服务端 [root@VM-20-13-centos bin]# ./zkServer.sh stop /usr/bin/java ZooKeeper JMX enabled by default Using config: /opt/zookeeper/apache-zookeeper-3.6.3-bin/bin/../conf/zoo.cfg Stopping zookeeper ... STOPPED [root@VM-20-13-centos bin]# jps 9127 Jps [root@VM-20-13-centos bin] 4、配置参数解析

Zookeeper中的配置文件zoo.cfg中参数含义解读如下:

4.1. tickTime =2000:? Zookeeper 服务端与客户端心跳时间

Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳, 时间单位为毫秒。它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。 (session的最小超时时间是2*tickTime)

4.2. initLimit =10: Leader与Follower 初始通信时限

集群中的Follower与Leader之间初始连接时能容忍的最多心跳数(tickTime的数量),用它来限定集群中的Zookeeper服务器连接到Leader的时限。

4.3. syncLimit =5: Leader与Follower同步通信时限

集群初始化完成后,Leader与Follower之间的最大响应时间单位,假如响应超过syncLimit * tickTime, Leader认为Follwer死掉,从服务器列表中删除Follwer。

4.4. dataDir:数据文件目录+数据持久化路径

主要用于保存 Zookeeper 中的数据。

4.5. clientPort =2181:客户端连接端口

监听客户端连接的端口。

5、客户端命令行操作

使用help命令查看支持的操作

[zk: localhost:2181(CONNECTED) 26] help ZooKeeper -server host:port -client-configuration properties-file cmd args addWatch [-m mode] path # optional mode is one of [PERSISTENT, PERSISTENT_RECURSIVE] - default is PERSISTENT_RECURSIVE addauth scheme auth close config [-c] [-w] [-s] connect host:port create [-s] [-e] [-c] [-t ttl] path [data] [acl] delete [-v version] path deleteall path [-b batch size] delquota [-n|-b] path get [-s] [-w] path getAcl [-s] path getAllChildrenNumber path getEphemerals path history listquota path ls [-s] [-w] [-R] path printwatches on|off quit reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,...]*]] | [-add serverId=host:port1:port2;port3[,...]]* [-remove serverId[,...]*] redo cmdno removewatches path [-c|-d|-a] [-l] set [-s] [-v version] path data setAcl [-s] [-v version] [-R] path acl setquota -n|-b val path stat [-w] path sync path version Command not found: Command not found help [zk: localhost:2181(CONNECTED) 27]

个人理解:

Zookeeper中的Znode就是一个路径,Znode的子节点就是这个路径下的子目录,Znode的父节点就是这个路径的父目录。

同时Zookeeper中的一个Znode也是一个Key,Key的值就是这个Znode对应的路径,对应的可以为这个Key设置一个Value,也就是这个Znode的值,Value可以不设置,默认为null。

[zk: localhost:2181(CONNECTED) 27] ls / [zookeeper] [zk: localhost:2181(CONNECTED) 28] create /node1 Created /node1 [zk: localhost:2181(CONNECTED) 29] ls / [node1, zookeeper] [zk: localhost:2181(CONNECTED) 30] ls /node1 [] [zk: localhost:2181(CONNECTED) 31] get node1 Path must start with / character [zk: localhost:2181(CONNECTED) 32] get /node1 null [zk: localhost:2181(CONNECTED) 33] set /node1 "node1-value" [zk: localhost:2181(CONNECTED) 34] get /node1 node1-value [zk: localhost:2181(CONNECTED) 35] ls / [node1, zookeeper] [zk: localhost:2181(CONNECTED) 36] ls /node1 [] [zk: localhost:2181(CONNECTED) 37]

?测试临时节点,客户端退出后再重新连接,临时节点已被删除

[zk: localhost:2181(CONNECTED) 7] create -e /temp-node Created /temp-node [zk: localhost:2181(CONNECTED) 8] ls / [temp-node, zookeeper] [zk: localhost:2181(CONNECTED) 9] quit WATCHER:: WatchedEvent state:Closed type:None path:null 2022-02-13 22:15:38,695 [myid:] - INFO [main:ZooKeeper@1619] - Session: 0x101b5fd62a60001 closed 2022-02-13 22:15:38,699 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@578] - EventThread shut down for session: 0x101b5fd62a60001 2022-02-13 22:15:38,700 [myid:] - ERROR [main:ServiceUtils@42] - Exiting JVM with code 0 [root@VM-20-13-centos apache-zookeeper-3.6.3-bin]# bin/zkCli.sh [zk: localhost:2181(CONNECTED) 0] ls / [zookeeper] [zk: localhost:2181(CONNECTED) 1]

测试带序号的节点

[zk: localhost:2181(CONNECTED) 2] create -s /node Created /node0000000004 [zk: localhost:2181(CONNECTED) 3] ls / [node0000000004, zookeeper] [zk: localhost:2181(CONNECTED) 4] create -s /node Created /node0000000005 [zk: localhost:2181(CONNECTED) 5] create -s /new-node Created /new-node0000000006 [zk: localhost:2181(CONNECTED) 6] ls / [new-node0000000006, node0000000004, node0000000005, zookeeper] [zk: localhost:2181(CONNECTED) 7]

测试监听节点值变化

在客户端1上面创建一个节点

[zk: localhost:2181(CONNECTED) 12] create /node1 Created /node1 [zk: localhost:2181(CONNECTED) 13] ls /node1 [] [zk: localhost:2181(CONNECTED) 14] ls / [node1, zookeeper] [zk: localhost:2181(CONNECTED) 15]

在客户端2上面监听此节点

[zk: localhost:2181(CONNECTED) 2] ls / [node1, zookeeper] [zk: localhost:2181(CONNECTED) 3] get -w /node1 null [zk: localhost:2181(CONNECTED) 4]

在客户端1上面改变节点的值

[zk: localhost:2181(CONNECTED) 16] set /node1 "value1"

客户端2上面监听到变化

[zk: localhost:2181(CONNECTED) 4] WATCHER:: WatchedEvent state:SyncConnected type:NodeDataChanged path:/node1

测试监听节点的子节点变化

在客户端1上面创建一个节点

[zk: localhost:2181(CONNECTED) 18] ls / [node1, zookeeper]

在客户端2上面监听这个节点的子节点变化情况

[zk: localhost:2181(CONNECTED) 0] ls / [node1, zookeeper] [zk: localhost:2181(CONNECTED) 1] ls -w /node1 []

在客户端1上面创建一个子节点

[zk: localhost:2181(CONNECTED) 19] create /node1/subnode Created /node1/subnode [zk: localhost:2181(CONNECTED) 20]

在客户端2上面监听到子节点变化事件

[zk: localhost:2181(CONNECTED) 2] WATCHER:: WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/node1


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #zookeeper单机模式安装 #1下载地址官网首页Apache #zxvf #C