Chinaunix首页 | 论坛 | 博客
  • 博客访问: 786016
  • 博文数量: 109
  • 博客积分: 650
  • 博客等级: 上士
  • 技术积分: 1483
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-01 17:29
文章分类

全部博文(109)

文章存档

2016年(5)

2015年(21)

2014年(16)

2013年(38)

2012年(29)

分类: Python/Ruby

2015-04-28 18:40:15

分布式应用可以使用zookeeper来实现诸如:统一命名服务、配置管理、分布式锁服务、集群管理等功能。公司常用到的是Java服务集群的管理。


JRE(Java Runtime Environment),它是你运行一个基于Java语言应用程序的所正常需要的环境。
JDK代表Java开发工具包,如果你想做一些有关Java的开发(阅读程序),这正是你所需要的。
OpenJDK是Java开发工具包的开源实现,Oracle JDK是Java开发工具包的官方Oracle版本。尽管OpenJDK已经足够满足大多数的案例,但是许多程序比如Android Studio建议使用Oracle JDK,以避免UI/性能问题。
检查Java是否已经安装在Ubuntu上
打开终端,使用下面的命令:
java -version


如果你看到像下面的输出,这就意味着你并没有安装过Java:
The program ‘java’ can be found in the following packages:* default-jre* gcj-4.6-jre-headless* openjdk-6-jre-headless* gcj-4.5-jre-headless* openjdk-7-jre-headlessTry: sudo apt-get install


在Ubuntu和Linux Mint上安装Java
看了各种类型‘Java’的不同之后,让我们看如何安装他们。
在Ubuntu和Linux Mint上安装JRE
打开终端,使用下面的命令安装JRE:
sudo apt-get install default-jre


在Ubuntu和Linux Mint上安装OpenJDK
在终端,使用下面的命令安装OpenJDK Java开发工具包:
sudo apt-get install default-jdk


下载zookeeper
file  zoo.cfg:
# The number of milliseconds of each tick
tickTime=2000
 
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
 
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
 
# the directory where the snapshot is stored.
dataDir=/root/hadoop-0.20.2/zookeeper-3.3.1/d_1
 
# the port at which the clients will connect
clientPort=2181
 
server.1=localhost:2887:3887
server.2=localhost:2888:3888
server.3=localhost:2889:3889


tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
dataLogDir:顾名思义就是 Zookeeper 保存日志文件的目录
clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。


5, 基本命令使用
启动ZK服务:       sh bin/zkServer.sh start
查看ZK服务状态: sh bin/zkServer.sh status
停止ZK服务:       sh bin/zkServer.sh stop
重启ZK服务:       sh bin/zkServer.sh restart
注意:(处理客户端命令的函数是processZKCmd)
通过zkCli.sh -server 命令可以连接到其中一台server中,然后就可以通过交互式命令来控制zk了,简单讲解一下create命令的用法:
连接上zookeeper集群后,可以向其中输入命令:
 
#创建一个znode: /t 和数据tdata,其结点是EPHEMERAL类型的,
#意味着,客户端断开后其结点就会被删除
[zk: 192.168.201.128(CONNECTED) 25] create -e /t tdata 
Created /t
[zk: 192.168.201.128(CONNECTED) 26] ls /   #查看/目录下目录
[t, zookeeper]
[zk: 192.168.201.128(CONNECTED) 27] ls /t   #查看/t目录下的内容
[]
[zk: 192.168.201.128(CONNECTED) 28] get /t  #获取并查看/t目录写的数据
tdata
cZxid = 0x100000005
ctime = Sun Apr 22 17:58:05 CST 2012
mZxid = 0x100000005
mtime = Sun Apr 22 17:58:05 CST 2012
pZxid = 0x100000005
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x136d781d8750002
dataLength = 5
numChildren = 0
[zk: 192.168.201.128(CONNECTED) 29]




     ZooKeeper 支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令


1. 可以通过命令:echo stat|nc 127.0.0.1 2181 来查看哪个节点被选择作为follower或者leader
2. 使用echo ruok|nc 127.0.0.1 2181 测试是否启动了该Server,若回复imok表示已经启动。
3. echo dump| nc 127.0.0.1 2181 ,列出未经处理的会话和临时节点。
4. echo kill | nc 127.0.0.1 2181 ,关掉server
5. echo conf | nc 127.0.0.1 2181 ,输出相关服务配置的详细信息。
6. echo cons | nc 127.0.0.1 2181 ,列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。
7. echo envi |nc 127.0.0.1 2181 ,输出关于服务环境的详细信息(区别于 conf 命令)。
8. echo reqs | nc 127.0.0.1 2181 ,列出未经处理的请求。
9. echo wchs | nc 127.0.0.1 2181 ,列出服务器 watch 的详细信息。
10. echo wchc | nc 127.0.0.1 2181 ,通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。
11. echo wchp | nc 127.0.0.1 2181 ,通过路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径。
阅读(4608) | 评论(1) | 转发(0) |
0

上一篇:zookeeper API

下一篇:zookeeper通信模式

给主人留下些什么吧!~~

蚁族天地2015-05-04 13:45:07

<div id="sina_keyword_ad_area2" class="articalcontent   newfont_family">
   <p style="text-indent:28.0pt;mso-char-indent-count:2.0">
<span style="font-size:14.0pt;font-family:仿宋">&nbsp;<wbr></span><img src="http://ww2.sinaimg.cn/large/977e2e42gw1erno24z5isj20fa095wft.jpg" real_src="http://ww2.sinaimg.cn/large/977e2e42gw1erno24z5isj20fa095wft.jpg" alt="房东不退押金&nbsp;<wbr>租客折价卖家具抵押金" title="房东不退押金&a