ZooKeeper安装运行

转载 2013年12月04日 16:10:48

目录(?)[-]

  1. ZooKeeper介绍
  2. ZooKeeper官网
  3. ZooKeeper安装
  4. ZooKeeper测试






ZooKeeper介绍

  

ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

Zookeeper是Google的Chubby一个开源的实现.是高有效和可靠的协同工作系统.Zookeeper能够用来leader选举,配置信息维护等.在一个分布式的环境中,我们需要一个Master实例或存储一些配置信息,确保文件写入的一致性等.Zookeeper能够保证如下3点:

  • Watches are ordered with respect to other events, other watches, and
    asynchronous replies. The ZooKeeper client libraries ensures that
    everything is dispatched in order.
  • A client will see a watch event for a znode it is watching before seeing the new data that corresponds to that znode.
  • The order of watch events from ZooKeeper corresponds to the order of the updates as seen by the ZooKeeper service.

 

在Zookeeper中,znode是一个跟Unix文件系统路径相似的节点,可以往这个节点存储或获取数据.如果在创建znode时Flag设置 为EPHEMERAL,那么当这个创建这个znode的节点和Zookeeper失去连接后,这个znode将不再存在在Zookeeper 里.Zookeeper使用Watcher察觉事件信息,当客户端接收到事件信息,比如连接超时,节点数据改变,子节点改变,可以调用相应的行为来处理数 据.Zookeeper的Wiki页面展示了如何使用Zookeeper来处理事件通知,队列,优先队列,锁,共享锁,可撤销的共享锁,两阶段提交.

ZooKeeper官网

   Zookeeper官网

ZooKeeper安装

 首先下载最新版 zookeeper-3.4.5.tar.gz

 然后解压

 tar zxvf zookeeper-3.4.5.tar.gz

 然后进入conf目录修改zoo_sample.cfg为zoo.cfg

然后vi zoo.cfg

更改为:

 

  1. # The number of milliseconds of each tick  
  2. tickTime=2000  
  3. # The number of ticks that the initial   
  4. # synchronization phase can take  
  5. initLimit=10  
  6. # The number of ticks that can pass between   
  7. # sending a request and getting an acknowledgement  
  8. syncLimit=5  
  9. # the directory where the snapshot is stored.  
  10. # do not use /tmp for storage, /tmp here is just   
  11. # example sakes.  
  12. dataDir=/tmp/zookeeper  
  13. # the port at which the clients will connect  
  14. clientPort=2181  
  15. #  
  16. # Be sure to read the maintenance section of the   
  17. # administrator guide before turning on autopurge.  
  18. #  
  19. # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance  
  20. #  
  21. # The number of snapshots to retain in dataDir  
  22. #autopurge.snapRetainCount=3  
  23. # Purge task interval in hours  
  24. # Set to "0" to disable auto purge feature  
  25. #autopurge.purgeInterval=1  

编辑保存后进入bin目录执行

 ./zkServer.sh start

ZooKeeper测试

  1. [root@localhost bin]# ./zkCli.sh  
  2. Connecting to localhost:2181  
  3. 2013-01-16 14:36:22,484 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.5-1392090, built on 09/30/2012 17:52 GMT  
  4. 2013-01-16 14:36:22,488 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=localhost.localdomain  
  5. 2013-01-16 14:36:22,489 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.6.0_29  
  6. 2013-01-16 14:36:22,489 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Sun Microsystems Inc.  
  7. 2013-01-16 14:36:22,490 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/usr/java/jdk1.6.0_29/jre  
  8. 2013-01-16 14:36:22,490 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/usr/local/zookeeper-3.4.5/bin/../build/classes:/usr/local/zookeeper-3.4.5/bin/../build/lib/*.jar:/usr/local/zookeeper-3.4.5/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/zookeeper-3.4.5/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/zookeeper-3.4.5/bin/../lib/netty-3.2.2.Final.jar:/usr/local/zookeeper-3.4.5/bin/../lib/log4j-1.2.15.jar:/usr/local/zookeeper-3.4.5/bin/../lib/jline-0.9.94.jar:/usr/local/zookeeper-3.4.5/bin/../zookeeper-3.4.5.jar:/usr/local/zookeeper-3.4.5/bin/../src/java/lib/*.jar:/usr/local/zookeeper-3.4.5/bin/../conf:./:/usr/java/jdk1.6.0_29/lib:/usr/java/jdk1.6.0_29/jre/lib  
  9. 2013-01-16 14:36:22,491 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/usr/java/jdk1.6.0_29/jre/lib/i386/client:/usr/java/jdk1.6.0_29/jre/lib/i386:/usr/java/jdk1.6.0_29/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib  
  10. 2013-01-16 14:36:22,491 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp  
  11. 2013-01-16 14:36:22,491 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>  
  12. 2013-01-16 14:36:22,492 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux  
  13. 2013-01-16 14:36:22,492 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=i386  
  14. 2013-01-16 14:36:22,493 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=2.6.18-308.24.1.el5  
  15. 2013-01-16 14:36:22,493 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root  
  16. 2013-01-16 14:36:22,493 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/root  
  17. 2013-01-16 14:36:22,494 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/usr/local/zookeeper-3.4.5/bin  
  18. 2013-01-16 14:36:22,496 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@5ffb18  
  19. Welcome to ZooKeeper!  
  20. 2013-01-16 14:36:22,592 [myid:] - INFO  [main-SendThread(localhost.localdomain:2181):ClientCnxn$SendThread@966] - Opening socket connection to server localhost.localdomain/127.0.0.1:2181. Will not attempt to authenticate using SASL (无法定位登录配置)  
  21. 2013-01-16 14:36:22,601 [myid:] - INFO  [main-SendThread(localhost.localdomain:2181):ClientCnxn$SendThread@849] - Socket connection established to localhost.localdomain/127.0.0.1:2181, initiating session  
  22. JLine support is enabled  
  23. 2013-01-16 14:36:22,693 [myid:] - INFO  [main-SendThread(localhost.localdomain:2181):ClientCnxn$SendThread@1207] - Session establishment complete on server localhost.localdomain/127.0.0.1:2181, sessionid = 0x13c3c5224cc0000, negotiated timeout = 30000  
  24.   
  25. WATCHER::  
  26.   
  27. WatchedEvent state:SyncConnected type:None path:null  
  28. [zk: localhost:2181(CONNECTED) 0] help  
  29. ZooKeeper -server host:port cmd args  
  30.         connect host:port  
  31.         get path [watch]  
  32.         ls path [watch]  
  33.         set path data [version]  
  34.         rmr path  
  35.         delquota [-n|-b] path  
  36.         quit   
  37.         printwatches on|off  
  38.         create [-s] [-e] path data acl  
  39.         stat path [watch]  
  40.         close   
  41.         ls2 path [watch]  
  42.         history   
  43.         listquota path  
  44.         setAcl path acl  
  45.         getAcl path  
  46.         sync path  
  47.         redo cmdno  
  48.         addauth scheme auth  
  49.         delete path [version]  
  50.         setquota -n|-b val path  
  51. [zk: localhost:2181(CONNECTED) 1] create /my_data "data.ch.com"  
  52. Created /my_data  
  53. [zk: localhost:2181(CONNECTED) 2] get /my_data  
  54. "data.ch.com"  
  55. cZxid = 0x2  
  56. ctime = Wed Jan 16 14:38:20 CST 2013  
  57. mZxid = 0x2  
  58. mtime = Wed Jan 16 14:38:20 CST 2013  
  59. pZxid = 0x2  
  60. cversion = 0  
  61. dataVersion = 0  
  62. aclVersion = 0  
  63. ephemeralOwner = 0x0  
  64. dataLength = 13  
  65. numChildren = 0  
  66. [zk: localhost:2181(CONNECTED) 3] set /my_date "123456.com"  
  67. Node does not exist: /my_date  
  68. [zk: localhost:2181(CONNECTED) 4] set /my_data "123456.com"  
  69. cZxid = 0x2  
  70. ctime = Wed Jan 16 14:38:20 CST 2013  
  71. mZxid = 0x4  
  72. mtime = Wed Jan 16 14:38:58 CST 2013  
  73. pZxid = 0x2  
  74. cversion = 0  
  75. dataVersion = 1  
  76. aclVersion = 0  
  77. ephemeralOwner = 0x0  
  78. dataLength = 12  
  79. numChildren = 0  
  80. [zk: localhost:2181(CONNECTED) 5] get /my_data  
  81. "123456.com"  
  82. cZxid = 0x2  
  83. ctime = Wed Jan 16 14:38:20 CST 2013  
  84. mZxid = 0x4  
  85. mtime = Wed Jan 16 14:38:58 CST 2013  
  86. pZxid = 0x2  
  87. cversion = 0  
  88. dataVersion = 1  
  89. aclVersion = 0  
  90. ephemeralOwner = 0x0  
  91. dataLength = 12  
  92. numChildren = 0  
  93. [zk: localhost:2181(CONNECTED) 6] create /mytemp "你好吗"  
  94. Created /mytemp  
  95. [zk: localhost:2181(CONNECTED) 7] get /myt  
  96. Node does not exist: /myt  
  97. [zk: localhost:2181(CONNECTED) 8] get /mytemp  
  98. "你好吗"  
  99. cZxid = 0x5  
  100. ctime = Wed Jan 16 14:40:44 CST 2013  
  101. mZxid = 0x5  
  102. mtime = Wed Jan 16 14:40:44 CST 2013  
  103. pZxid = 0x5  
  104. cversion = 0  
  105. dataVersion = 0  
  106. aclVersion = 0  
  107. ephemeralOwner = 0x0  
  108. dataLength = 11  
  109. numChildren = 0  
  110. [zk: localhost:2181(CONNECTED) 9] get /mytemp  
  111. "你好吗"  
  112. cZxid = 0x5  
  113. ctime = Wed Jan 16 14:40:44 CST 2013  
  114. mZxid = 0x5  
  115. mtime = Wed Jan 16 14:40:44 CST 2013  
  116. pZxid = 0x5  
  117. cversion = 0  
  118. dataVersion = 0  
  119. aclVersion = 0  
  120. ephemeralOwner = 0x0  
  121. dataLength = 11  
  122. numChildren = 0  
  123. [zk: localhost:2181(CONNECTED) 10] get /my_data  
  124. "123456.com"  
  125. cZxid = 0x2  
  126. ctime = Wed Jan 16 14:38:20 CST 2013  
  127. mZxid = 0x4  
  128. mtime = Wed Jan 16 14:38:58 CST 2013  
  129. pZxid = 0x2  
  130. cversion = 0  
  131. dataVersion = 1  
  132. aclVersion = 0  
  133. ephemeralOwner = 0x0  
  134. dataLength = 12  
  135. numChildren = 0  
  136. [zk: localhost:2181(CONNECTED) 11] ls  
  137. ZooKeeper -server host:port cmd args  
  138.         connect host:port  
  139.         get path [watch]  
  140.         ls path [watch]  
  141.         set path data [version]  
  142.         rmr path  
  143.         delquota [-n|-b] path  
  144.         quit   
  145.         printwatches on|off  
  146.         create [-s] [-e] path data acl  
  147.         stat path [watch]  
  148.         close   
  149.         ls2 path [watch]  
  150.         history   
  151.         listquota path  
  152.         setAcl path acl  
  153.         getAcl path  
  154.         sync path  
  155.         redo cmdno  
  156.         addauth scheme auth  
  157.         delete path [version]  
  158.         setquota -n|-b val path  
  159. [zk: localhost:2181(CONNECTED) 12]  

ZooKeeper安装与运行

首先从官网下载ZooKeeper压缩包,然后解压下载得到的ZooKeeper压缩包,发现有“bin,conf,lib”等目录。“bin目录”中存放有运行脚本;“conf目录”中存放有配置文件;“lib...
  • DSLZTX
  • DSLZTX
  • 2016年04月07日 21:17
  • 9860

在mac OSX中安装启动zookeeper

mac osx上安装和启动zookeeper
  • whereismatrix
  • whereismatrix
  • 2015年12月28日 17:41
  • 19804

zookeeper运行环境2、3:单节点安装和伪分布式集群安装

转载:http://www.aboutyun.com/thread-9097-1-1.html 问题导读: 1.什么是zookeeper 2.zookeeper有几种安装方式? 3.zoo...
  • haihongazar
  • haihongazar
  • 2016年09月21日 13:20
  • 755

zookeeper单节点与集群的安装(Linux)

Zookeeper安装 单节点安装 在安装之前保证jdk版本和zookeeper安装不冲突。为了与注释区分开,这里用$符号表示要输入或者修改的命令。#表示注释。 1、     修改操作系统的/e...
  • u013031185
  • u013031185
  • 2016年09月04日 19:40
  • 1620

在Windows中安装zookeeper和kafka单点环境

1.首先需要先安装zookeeper 在windows下安装单点测试 a.下载zookeeper-3.4.9.tar.gz,解压在conf\下把zoo_sample.cfg 复制为zoo.cfg ...
  • u014104286
  • u014104286
  • 2017年07月12日 21:06
  • 440

ZooKeeper-3.4.9集群安装配置及注意事项

ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization)、命名服务(Naming S...
  • kamereon
  • kamereon
  • 2017年01月12日 17:01
  • 1175

ZooKeeper的部署与运行

这篇博文主要介绍一下通过单机和集群两种方式部署一个ZooKeeper,以及如何将其顺利的运行起来。      一、系统环境      通常对Java开源产品而言,在部署与运行之前,...
  • zjx86320
  • zjx86320
  • 2016年03月29日 19:57
  • 784

Zookeeper集群安装配置

Zookeeper集群安装配置
  • u012965373
  • u012965373
  • 2016年07月11日 18:32
  • 629

zookeeper安装和使用 windows环境+dubbo管理控制台的安装 【以及】 tomcat启动配置

综合:zookeeper+dubbo+tomcat【windows环境】 转自:zookeeper安装和使用 windows环境http://blog.csdn.net/tlk20071/articl...
  • zh123456zh789
  • zh123456zh789
  • 2017年03月15日 12:18
  • 1402

ZooKeeper的安装与部署

本文讲述如何安装和部署ZooKeeper。一、系统要求ZooKeeper可以运行在多种系统平台上面,表1展示了zk支持的系统平台,包括是否支持开发环境或者生产环境。表1:ZooKeeper支持的运行平...
  • lihao21
  • lihao21
  • 2016年06月28日 19:43
  • 61698
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ZooKeeper安装运行
举报原因:
原因补充:

(最多只允许输入30个字)