ZooKeeper入门指南
- 开始:使用ZooKeeper协调分布式应用程序
- 必备条件
- 下载
- 独立的操作
- 管理ZooKeeper存储
- 连接到ZooKeeper
- ZooKeeper的编程
- 运行主从复制ZooKeeper
- 其他优化
开始:使用ZooKeeper协调分布式应用程序
这个文档包含了一些信息,可以帮助你快速开始使用ZooKeeper,它主要针对希望尝试它的开发人员,并包含单个ZooKeeper服务器的简单安装说明,一些命令可以验证它是否正在运行,还有一个简单的编程示例。最后,为了方便起见,有一些关于更复杂的安装部分,例如,运行主从复制部署,并优化事务日志。然而,完整的商业部署说明,请参阅ZooKeeper管理员指南。
必备条件
请参阅管理指南中的系统需求。
下载
要获得一个ZooKeeper发行版,请从Apache下载镜像下载一个最近的稳定版本。
独立的操作
在独立模式下设置ZooKeeper服务器非常简单,服务器包含在一个JAR文件中,因此安装包括了创建配置。
一旦你下载了一个稳定的ZooKeeper版本,解压它并cd到根目录。
要启动ZooKeeper程序,你需要一个配置文件,这是一个示例,在conf/zoo.cfg中创建它:
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
这个文件可以被命名为什么名称,但是为了便于讨论,我们将其称为conf/zoo.cfg,更改dataDir的值,以指定一个现有(从空开始)目录,下面是每个字段的含义:
tickTime:被ZooKeeper使用的以毫秒为单位的基础时间单位,它用于进行心跳,并且最小会话超时时间将是tickTime的两倍。
dataDir:存储内存中数据库快照的位置,以及(除非另有指定)数据库更新的事务日志。
clientPort:监听客户端连接的端口。
现在你已经创建了配置文件,可以启动ZooKeeper了:
bin/zkServer.sh start
ZooKeeper使用log4j记录消息 -- 更多细节可以在开发者指南的日志记录部分中找到,你将看到日志消息到达控制台(默认)和/或日志文件,具体取决于log4j配置。
这里列出的步骤在独立模式下运行ZooKeeper,没有主从复制,因此如果ZooKeeper进程故障,服务将会宕机,这对于大多数开发情况来说都很好,但是要在主从复制模式下运行ZooKeeper,请参阅运行主从复制的ZooKeeper。
管理ZooKeeper存储
对于长时间运行的生产系统,ZooKeeper的存储必须由外部管理(dataDir和日志),有关更多细节,请参阅维护部分。
连接到ZooKeeper
$ 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]
在shell中,键入help获得可以从客户端执行的命令列表,如:
[zkshell: 0] help
ZooKeeper host:port cmd args
get path [watch]
ls path [watch]
set path data [version]
delquota [-n|-b] path
quit
printwatches on|off
create path data acl
stat path [watch]
listquota path
history
setAcl path acl
getAcl path
sync path
redo cmdno
addauth scheme auth
delete path [version]
deleteall path
setquota -n|-b val path
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。