zookeper简单使用备忘

最近用zookeeper搞了个黑名单系统,把在学习zookeeper的过程看过的资料整理记录一下

一、安装配置

安装:http://zookeeper.apache.org/releases.html 下载最新版本,解压文件即可使用;

解压得到的文件

       配置文件位于conf目录下 zoo.cfg,一台服务器使用多个zookeeper服务时,可以设置多个配置文件

       调用脚本位于bin目录下

              zkCleanup.sh 清除zookeeper数据

              zkServer.sh 启动\关闭zookeeper服务 启动命令如zkServer.sh start conf/zoo.cfg zkServer.sh stop conf/zoo.cfg

              zkCli.sh zookeeper信息查看器 使用命令 zkCli.sh -server ip:port

扫描二维码关注公众号,回复: 771020 查看本文章

二、集群配置

zoo.cfg配置参数说明

       tickTime: Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳;

       dataDir: Zookeeper 保存数据的目录,默认情况下写数据的日志文件也保存在;

       clientPort:Zookeeper服务端口;

集群相关配置

       initLimit:服务与集群的初始化连接时最长能忍受多少个心跳时间间隔数,超过initLimit*tickTime数以后,会认定为连接失败;

       syncLimit:Leader与Follower之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度;

       server.id=ip:port1:port2 id为服务器编号(唯一),ip是id对应的服务器ip地址也可以使用域名形式(使用域名形式更好),port1为服务端口,port2为有服务宕机时的选举端口;

 集群如果宕机数目超过一半以上整个集群就不可用,所以集群的数目最好为奇数;

三、简单介绍

       Zookeeper会维护一个具有层次关系的数据结构,它非常类似于一个标准的文件系统,存储数据的地方称为节点;

      节点分为永久节点和临时节点,临时节点由client创建,当客户端Session超时后临时节点会消失;

      节点可以有子节点,可以保存数据,数据还可以按照版本号进行保存;

补充内容:http://rdc.taobao.com/team/jm/archives/947

四、性能 

        由于zookeeper的节点更新会同步到磁盘及各个节点,所以zookeeper的性能会受到节点数据大小以及磁盘IO性能的影响(与系统的硬件条件也相关),数据越小,IO性能越高,TPS越高;

参考数据:http://rdc.taobao.com/team/jm/archives/1070

五、监控

       淘宝的童鞋开发的zookeeper监控系统 http://rdc.taobao.com/team/jm/archives/1450

       简单的对zookeeper进行监控,可以使用shell脚本,调用zookeeper的四字命令,解析返回的内容进行监控,如echo conf|nc localhost 2181;

六、自检恢复

zookeeper的自动宕机重启工具

Daemontools http://cr.yp.to/daemontools.html

SMF http://en.wikipedia.org/wiki/Service_Management_Facility

七、客户端

Zookeeper Client http://rdc.taobao.com/team/jm/archives/1047

Zookeeper的官方客户端功能比较底层,第三方的客户端可以看看Curator

Curator http://www.open-open.com/lib/view/open1327550964655.html

参考资料:

http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/

http://blog.163.com/bdweizhong@yeah/blog/static/963698182012928114335375/

猜你喜欢

转载自macken.iteye.com/blog/1773272
今日推荐