zookeeper集群安装与配置
转自: http://my.oschina.net/u/2377453/blog/464739
1、解压zookeeper
2、在$ZOOKEEPER_HOME/conf下创建zoo.cfg文件(参考配置文件:zoo_sample.cfg),内容为:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# CS通信心跳时间,Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。tickTime以毫秒为单位 tickTime= 2000 # LF初始化通信时限,集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量) initLimit= 10 # LF同步通信时限,集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。 syncLimit= 5 #数据文件目录,Zookeeper保存数据的目录,默认情况下,Zookeeper将写数据的日志文件也保存在这个目录里。 dataDir=/root/app/zookeeper/data #客户端连接端口,客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。 clientPort= 2181 #服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口) #这个配置项的书写格式比较特殊,规则如下: #server.N=YYY:A:B server. 1 =hadoop.master: 2888 : 3888 server. 2 =hadoop.slave: 2888 : 3888 #端口 # 2181 :用于客户端的连接 # 2888 :follower与leader通信 # 3888 :leader选举端口 |
3、根据zoo.cfg在dataDir配置的路径下创建myid文件,且输入server.N的N内容(例如:当前机器是server.1,那么在 myid中输入1)
4、复制配置完毕的zookeepr到其他节点
1
|
scp -r $ZOOKEEPER_HOME root @hostname :/home |
5、复制完毕之后记得修改myid
6、在各个节点上分别启动脚本:
1
|
$ZOOKEEPER_HOME/bin/zkServer.sh start |
7、检查命令
1
2
3
4
|
7.1 、#zkServer.sh status //如果出现Error contacting service. It is probably not running.错误,是因为节点只启动了一个,无法启动集群模式 7.2 、#echo ruok | nc localhost 2181 //如果命令成功会返回imok(I'm ok) |
8、zk客户端
1
2
3
4
5
6
7
8
9
10
|
$ZOOKEEPER_HOME/bin/zkCli.sh -server hostname: 2181 //启动一个zk客户端 //最终要记住一个help命令即可掌握其他命令的用法 (操作之前需要了解类似文件系统的znode, 简单描述:zk中所有节点都是znode节点,znode节点不仅可以作为目录还可以存储数据.) CREATE 创建znode SET 设置znode的数据 GET 查询znode RMR 删除znode ...等等自行查询 |
9、Java客户端
相关代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.ZooDefs.Ids; import org.apache.zookeeper.ZooKeeper; public class ZKClient { // 连接地址 private final static String CONN = "192.168.1.200:2181" ; // client与zk超时时间(unit:ms) private final static int SESSION_TIMEOUT = 5000 ; public static void main(String[] args) throws Exception { //1、持久节点:创建的节点成功时,节点便会持久化在zk上 //2、临时节点:创建节点过程中一旦发生有意或无意的客户端超时或者关闭,节点都被删除 ZooKeeper zk = new ZooKeeper(CONN, SESSION_TIMEOUT, new Watcher() { @Override public void process(WatchedEvent event) { //接收zk各个时间通知 System.out.println( "------------------------" ); System.out.println( "Path:" +event.getPath()); System.out.println( "type:" +event.getType()); System.out.println( "state" +event.getState()); System.out.println( "wrapper:" +event.getWrapper()); System.out.println( "------------------------" ); } }); String path = "/hello" ; byte [] data = "testhello!" .getBytes(); zk.create(path,data, Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); zk.close(); } } |
zookeeper集群安装与配置的更多相关文章
- zookeeper 集群安装与配置
Zookeeper安装和配置 准备工作 安装 JDK,此步略. 下载 zookeeper wget http://archive.apache.org/dist/zookeeper/zookeeper ...
- Zookeeper 集群安装配置,超详细,速度收藏!
今天,栈长分享下 Zookeeper 的集群安装及配置. 下载 下载地址:http://zookeeper.apache.org/ 下载过程就不说了,我们下载了最新的zookeeper-3.4.11. ...
- Zookeeper 集群安装配置
今天,栈长分享下 Zookeeper 的集群安装及配置. 下载 下载地址:http://zookeeper.apache.org/ 下载过程就不说了,我们下载了最新的zookeeper-3.4.11. ...
- ActiveMQ 高可用集群安装、配置(ZooKeeper + LevelDB)
ActiveMQ 高可用集群安装.配置(ZooKeeper + LevelDB) 1.ActiveMQ 集群部署规划: 环境: JDK7 版本:ActiveMQ 5.11.1 ZooKeeper 集群 ...
- 原创:centos7.1下 ZooKeeper 集群安装配置+Python实战范例
centos7.1下 ZooKeeper 集群安装配置+Python实战范例 下载:http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeepe ...
- hbase和ZooKeeper集群安装配置
一:ZooKeeper集群安装配置 1:解压zookeeper-3.3.2.tar.gz并重命名为zookeeper. 2:进入~/zookeeper/conf目录: 拷贝zoo_sample.cfg ...
- 1、zookeeper集群安装
前提准备3台centos7.0虚拟机 c7003:192.168.70.103 c7004:192.168.70.104 c7005:192.168.70.105 并在三台虚拟机上配置hosts为 1 ...
- Zookeeper集群安装Version3.5.1
Zookeeper集群安装,基于版本3.5.1, 使用zookeeper-3.5.1-alpha.tar.gz安装包. 1.安装规划 zookeeper集群模式,安装到如下三台机器 10.43.159 ...
- Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置
Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...
随机推荐
- 学习UFT11.5历程(二)
1. QTP对象TO与RO TO: test object. 本地对象库里的封装对象 RO:run object. 运行封装对象 和TO.RO相关的几个函数有: GetTOProperty(“属性名” ...
- 图片的DataURL技术
DataURL基本原理 在网页中我们通常用下面的方式来引用一张图片,这样当我们请求网页的时候,浏览器也会想服务器发起一个请求,去请求这张图片. <img src='images/test.jpg ...
- 上传文件fileupload
文件上传: 需要使用控件-fileupload 1.如何判断是否选中文件? FileUpload.FileName - 选中文件的文件名,如果长度不大于0,那么说明没选中任何文件 js - f.va ...
- 慕课网__CSS__vertical align
- CSS选择器--普通选择器
普通选择器: 1.标签选择器:使用标签选择器,所有的相同的标签都会被选中.(如:选择div所有的div都被选中.) 2.类选择器:如果一个元素设置了多个类选择器样式,那么这些类选择器都会被设置.但是如 ...
- 猎奇过后,VR还有什么能让用户买单?
VR乍到之时,声如迅雷,来势汹汹却转瞬而逝. 能够在市场激起千层浪,大抵是因其强势地撩起了不少好奇心者,而随着这个热闹周围聚拢层层的围观者,自然吸引了更多人驻足. 但围观之下,好奇心不会转化为购买率. ...
- PUTTY用密钥登陆服务器
1.puttygen生成private_key和public_key,保存private_key: 2.在 ~/.ssh/authorized_keys中添加public_key,(vi ~/.ssh ...
- swagger for c# webapi
最近迷上了前后端分离的开发架构,工作中的项目几乎都采取这种模式,自己主要担任服务端RestFul风格的Webapi开发.那么问题来了,当前端开发人员找我要api说明文档的时候,曾一度非常可耻的冒出过w ...
- mmorpg手游中的战斗系统
目前的项目是一款mmorpg手游, 非常不幸的是,当前战斗系统的实现非常脆弱, 也毫无技巧可言.具体存在如下问题: 1.战斗层逻辑与自动战斗AI逻辑混在一起, 互相纠缠. 2.战斗层自身逻辑混乱不堪, ...
- 用excel做分组散点图
散点图主要观察两组变量间的趋势和分布,如果变量多于两组,仍旧使用散点图的话,那所有点都会集中在同一显示区域内,使人无法准确判断,此时一般使用散点图矩阵进行两两比较.除此之外,如果并不关心组与组之间的关 ...