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通信同步的超时时间。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Zookeeper之前,您需要先安装和配置它。可以参考引用中的文章《Zookeeper的安装配置详解(window / linux)》来了解具体的安装步骤和配置方法。安装完成后,您可以使用以下脚本来启动、停止和查看Zookeeper的状态。 首先,创建一个后缀名为.sh的脚本文件,内容如下: ``` #!/bin/bash case $1 in "start") { for i in hadoop102 hadoop103 hadoop104 do echo ---------- zookeeper $i 启动 ------------ ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start" done };; "stop") { for i in hadoop102 hadoop103 hadoop104 do echo ---------- zookeeper $i 停止 ------------ ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop" done };; "status") { for i in hadoop102 hadoop103 hadoop104 do echo ---------- zookeeper $i 状态 ------------ ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status" done };; esac ``` 在这个脚本中,我们使用了一个case语句来根据输入的命令参数执行相应的操作。如果参数是"start",则会循环遍历hadoop102、hadoop103和hadoop104,并通过SSH命令在每台机器上启动Zookeeper。类似地,如果参数是"stop",则会停止Zookeeper;如果参数是"status",则会显示Zookeeper的状态。 请注意,在脚本中使用了/opt/module/zookeeper-3.5.7/bin/zkServer.sh命令来启动、停止和查看Zookeeper的状态。如果您在启动Zookeeper时遇到了"FAILED TO START"或"zkServer.sh: command not found"的错误,请确保该命令的路径正确配置和引用,可以参考引用中提到的解决方法。 希望这些信息能帮助到您使用Zookeeper。如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值