最近用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
二、集群配置
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/
相关推荐
【简易安卓备忘录】是一个基于Java编程语言开发的Android应用程序,主要功能是提供一个便捷的备忘录服务。这个项目对于初学者来说是一个很好的学习资源,它可以帮助理解Android应用的基本架构、Java语言在移动平台上...
【标题】:“一个简单的备忘录” 在移动设备上,备忘录应用程序是日常生活中非常实用的工具,用于记录各种待办事项、想法或者提醒。本项目提供了一个详细的安卓备忘录源码实现,涵盖了核心功能如添加、删除、修改...
备忘录支持文本格式,可以进行简单的排版,如换行、加粗等,以满足不同的记录需求。此外,用户还可以设置提醒,确保不会错过任何重要的日期或时间点。通过设定自定义的提醒时间,应用会在指定时刻发送通知,提醒查看...
【基于XML的简易联系人备忘录】 XML(Extensible Markup Language)是一种可扩展标记语言,常用于数据交换、配置文件存储以及结构化数据的表示。在这个基于XML的简易联系人备忘录中,XML被用来作为数据存储的格式,...
【标题解析】:“winform做的简易备忘录”指的是使用Windows Forms(Winform)这一.NET框架下的用户界面开发工具创建的一个简易备忘录应用程序。Windows Forms是Microsoft开发的一种用于构建桌面应用的图形用户界面...
【C#编写的简单备忘录程序】 C#是一种面向对象的编程语言,由微软公司开发,主要用于构建Windows应用程序、Web应用以及游戏等。在这个“C#写的简单备忘录”项目中,开发者利用C#的基本语法和特性,创建了一个方便...
微信小程序实现的简易备忘录,可以记录代办事项,可以标记事项是否完成 微信小程序实现的简易备忘录,可以记录代办事项,可以标记事项是否完成 微信小程序实现的简易备忘录,可以记录代办事项,可以标记事项是否完成...
小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+...
android大作业,简单备忘录系统的实现 实现地功能包括: 1)增、删、查、改备忘信息 2)新建、删除、修改备忘分组,将备忘信息添加到备忘分组中 3)设置提醒时间,实现闹钟提醒 4)使用了NavigationView+...
【标题】"一个简单的备忘录APP,鸿蒙平台.zip" 涵盖了华为鸿蒙系统(HarmonyOS)的开发实践,旨在为开发者提供一个基础的备忘录应用程序的构建过程。这个项目名为“todo_harmonyOS-master”,显然是一个基于鸿蒙操作...
6. **SharedPreferences**: 这是轻量级的数据存储方式,适用于存储用户设置等简单数据。备忘录应用可能用它来保存用户的偏好设置。 7. **通知(Notifications)**: 当用户添加新的备忘录或者有重要的提醒时,应用会...
用MFC开发的简易桌面备忘录,,主要用mfc进行windows的桌面开发,用access做数据库,用ado对象访问数据库。
备忘录模块使用说明书 配置源程序 附加数据库SQL Server 2000 (1)将DataBase文件夹中的两个文件拷贝到SQL Server 2000安装路径下的Data文件夹中。 (2)打开SQL Server 2000中的“企业管理器”,然后展开本地...
在Android Studio中开发一个简单的备忘录应用是一个常见的任务,涉及到Android应用程序的基础架构、用户界面设计、数据存储以及事件处理等多个方面。以下是一些相关的知识点: 1. **Android Studio介绍**:Android ...
本篇将详细讲解如何使用Tkinter来实现一个简单的备忘录应用,涵盖增、删、改、查的基本功能。 首先,我们需要导入Tkinter库,并初始化窗口。在Python中,可以这样引入Tkinter库: ```python import tkinter as tk ...
对于增、删、改、查操作,我们需要使用SQLite数据库来存储备忘录数据。SQLite是一个轻量级的关系型数据库,适用于移动设备。在Android中,我们通过SQLiteOpenHelper的子类来创建和升级数据库,然后使用SQL语句来执行...
在本项目"一个简单的Android备忘录.zip"中,我们主要关注的是如何使用Android Studio开发一个手机端的小型备忘录应用。这个课程设计旨在帮助初学者了解Android应用的基础架构和核心组件,如Activity、Intent、SQLite...
微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小程序 备忘录 (源码)微信小...
在Android开发中,创建一个简单的备忘录应用是学习移动应用编程的好方法。"个人写的一个简单备忘录"这个项目可能就是一个初学者尝试构建的此类应用,旨在帮助其他新手理解基本的Android编程概念,尤其是如何结合...