ZooKeeper使用

单机模式:

       让Zookeeper处于单机运行模式是非常简单的。服务端包含在了一个jar里面,安装Zookeeper只需配置一个文件,这个文件就是conf/zoo.cfg。这里有个简单的例子,

tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181

   下面来解释这些配置项的含义:

   tickTime:Zookeeper配置的基础时间单元,单位(ms)。它将用于心跳或者session过期时间的基础时间单元。

   dataDir:内存数据库快照的存储地址,除非明确指定,这些事务日志将会被存储到数据库。

   clientPort:客户端连接Zookeeper的端口。

  连接到Zookeeper

   一旦zookeeper已经启动,你就可以连接它。

  Java环境下 你可以用如下方式连接:

  bin/zkCli.sh -server 127.0.0.1:2181

  连接后会出现如下相似的界面

Connecting to localhost:2181
log4j:WARN No appenders could be found for logger (org.apache.zookeeper.ZooKeeper).
log4j:WARN Please initialize the log4j system properly.
Welcome to ZooKeeper!
JLine support is enabled
[zkshell: 0]
        

  输入ls / 可以查看zookeeper下所有的znode。默认情况下只有一个 [zookeeper]。

  1:创建znode: create /node1  mydata

  上述语句将会在/下创建一个node1的节点,节点包含的数据是mydata。

  2:查看某个znode:get /node1

my_data
cZxid = 5
ctime = Fri Jun 05 13:57:06 PDT 2009
mZxid = 5
mtime = Fri Jun 05 13:57:06 PDT 2009
pZxid = 5
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0
dataLength = 7
numChildren = 0

   3:改变节点的数据

  

set /node1 xxxx

   4:删除节点

    delete /node1

 zookeeper复制集配置

 单机运行模式适用于评估,开发和测试,在实际产品中应该使用zookeeper的复制集模式。

 一个复制集的多态服务器被称作一个quorum,在一个复制集中,每个服务器的配置文件,即zoo.cfg文件基本相同,但是有少许的改动。下面是一个配置模板。

tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888

   initLimit:zookeeper中服务器连接leader所需要消耗的超时时间。

   syncLimit:服务器和leader通信同步的超时时间。

猜你喜欢

转载自littie1987.iteye.com/blog/2246474
今日推荐