zookeeper是一个分布式应用协调服务,主要用来解决分布式应用配置项的管理、同步服务、集群管理等,它由Java语言编写,但它支持Java和C两种编程语言接口;

 

环境部署

操作系统:centos 6.4

JDK版本:1.7.0_60

 

单机模式

1、安装包下载地址:http://www.apache.org/dyn/closer.cgi/zookeeper/

2、安装包下载完后,解压到根目录下的cloud(该目录自己创建)目录中;

3、cp /cloud/zookeeper-3.4.5/conf/zoo_sample.cfg ./zoo.cfg

4、修改配置文件(zoo.cfg)

    将dataDir的字段值修改为/cloud/zookeeper-3.4.5/tmp,即:dataDir=/cloud/zookeeper-3.4.5/tmp

    说明:tmp目录需要根据路径地址手动创建,dataDir字段的值用于指定存储内存中数据快照的位置;

    在配置文件中最后添加一行配置:server.1=chenx:2888:3888

    说明:chenx为主机名,需要在/etc/hosts配置IP与主机名的映射,当然也可以直接用IP地址,2888为从机器连接到主机器的端口,3888为进行leader选举的端口;

5、/cloud/zookeeper-3.4.5/tmp目录下创建一个myid文件,里面内容是server.N中的N(如:server.1里面内容为1)

    echo "1" > myid

6、启动zookeeper,在命令行中运行 /cloud/zookeeper-3.4.5/bin/zkServer.sh start ,运行jps查看到QuorumPeerMain进程表示成功;

 

 

伪分布式

同一台机器上启动多个zookpeer服务,与单机模式的部署大部分相同,不同点如下:

1、配置多份zoo.cfg文件(文件名任意),如:zoo1.cfg、zoo2.cfg等;

2、 每份配置文件中clientPort、dataDir值不要一样也不要冲突;

3、启动多少个zookeeper服务,就需重复多少次单机模式配置中的第四步,且连接端口和选举端口不要相同;

配置图1:

配置图2:

 

 

集群模式

与伪分布式差不多,唯一的区别在于zookeeper的安装程序,需要在集群中的各个节点上重复上述配置过程;

 

配置参数(zoo.cfg)整理说明
1、initLimit:Zookeeper接受客户端初始化连接时最长能忍受多少个心跳时间间隔;
2、syncLimit:标识Leader与Follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度;
3、tickTime:维持Zookeeper服务之间或客户端与服务器之间心跳的时间间隔;(以毫秒为单位)
4、dataDir:Zookeeper保存内存数据快照的目录,默认情况下,Zookeeper将写数据的日志文件也保存在该目录;
5、clientPort:客户端连接Zookeeper服务端端口,Zookeeper会监听该端口,并接受客户端的访问请求;
6、查看Zookeeper是否在服务:echo ruok | nc localhost 2181

 

zookeeper高可用
Zookeeper通过复制来实现高可用性,只要集合体中半 数以上的机器处于可用状态,它就能够保证服务继续。之所以要超过半数与Zookeeper的赋值策略有关,Zookeeper确保对znode树的每一个修改都会被复制到集合体中超过半数的机器上。而在Zookeeper部署中通常采用2n+1的方式,可容纳n台机器挂掉;

zookeeper系列(一)安装的更多相关文章

  1. ZooKeeper系列(1):安装搭建ZooKeeper环境

    ZooKeeper系列文章:https://www.cnblogs.com/f-ck-need-u/p/7576137.html#zk ZooKeeper有三种安装模式:单机安装(standalone ...

  2. Zookeeper 系列(二)安装配制

    Zookeeper 系列(二)安装配制 一.Zookeeper 的搭建方式 Zookeeper 安装方式有三种,单机模式和集群模式以及伪集群模式. 单机模式 :Zookeeper 只运行在一台服务器上 ...

  3. ZooKeeper 笔记(1) 安装部署及hello world

    先给一堆学习文档,方便以后查看 官网文档地址大全: OverView(概述) http://zookeeper.apache.org/doc/r3.4.6/zookeeperOver.html Get ...

  4. (转)ZooKeeper 笔记(1) 安装部署及hello world

    ZooKeeper 笔记(1) 安装部署及hello world   先给一堆学习文档,方便以后查看 官网文档地址大全: OverView(概述) http://zookeeper.apache.or ...

  5. Zookeeper 集群安装配置,超详细,速度收藏!

    今天,栈长分享下 Zookeeper 的集群安装及配置. 下载 下载地址:http://zookeeper.apache.org/ 下载过程就不说了,我们下载了最新的zookeeper-3.4.11. ...

  6. ZooKeeper系列(2):ZooKeeper命令行工具zkCli.sh

    ZooKeeper系列文章:https://www.cnblogs.com/f-ck-need-u/p/7576137.html#zk 1.简介 ZooKeeper提供了一个非常简单的命令行客户端zk ...

  7. ZooKeeper系列(5):ZooKeeper的日志和快照

    ZooKeeper系列文章:https://www.cnblogs.com/f-ck-need-u/p/7576137.html#zk ZooKeeper有两种日志.一种快照.日志分为事务日志和Zoo ...

  8. Zookeeper 集群安装配置

    今天,栈长分享下 Zookeeper 的集群安装及配置. 下载 下载地址:http://zookeeper.apache.org/ 下载过程就不说了,我们下载了最新的zookeeper-3.4.11. ...

  9. Zookeeper系列六:服务器角色、序列化与通信协议、数据存储、zookeeper总结

    一.服务器角色 1. Leader 1)事务请求的唯一调度者和处理者.保证事务处理的顺序性 事务请求:导致数据一致性的请求(数据发生改变).如删除一个节点.创建一个节点.设置节点数据,设置节点权限就是 ...

  10. Zookeeper系列四:Zookeeper实现分布式锁、Zookeeper实现配置中心

    一.Zookeeper实现分布式锁 分布式锁主要用于在分布式环境中保证数据的一致性. 包括跨进程.跨机器.跨网络导致共享资源不一致的问题. 1. 分布式锁的实现思路 说明: 这种实现会有一个缺点,即当 ...

随机推荐

  1. ImportError: No module named pysqlite2 --安装pysqlite

    yum install sqlite-devel -y pip install pysqlite 每次使用yum安装额外的包之后都需要重新安装python,否则可能会有各种奇奇怪怪的问题出现 cd P ...

  2. 八,WPF 命令

    WPF命令模型 ICommand接口 WPF命令模型的核心是System.Windows.Input.ICommand接口,该接口定义了命令的工作原理,它包含了两个方法和一个事件: public in ...

  3. ubuntu - sudo in php exec

    最近写防火墙的WEB版,需要在PHP中调用linux系统命令,但是防火墙有关的执行都需要管理员权限才能执行. 在ubuntu下,Apache2的运行账户默认是www-data,默认是不能通过sudo来 ...

  4. iOS最新上线流程+续费 2015-7-20更新

    一.程序上线前准备 确认图标是否⻬全,应⽤的icon图标 在以前图⽚片直接命名 为icon就可以了,在xcode5以后,苹果加 ⼊入了images.xcasset这个⽂文件夹,所有的 图标全都在这⾥里 ...

  5. 使用struts2标签<s:action无法显示引用页面问题

    使用过程中参考:http://www.cnblogs.com/lihuiyy/archive/2012/03/23/2411601.html 个人使用: 1.引用页面 <s:action nam ...

  6. 自适应单本小说网站源码,基于bootstrap+dedecms。

    具体效果:http://www.ishengxu.cc/ 基于bootstrap+dedecms,PC端与手机端自适应,广告位也都设计好了,很简单.

  7. Python/Numpy大数据编程经验

    Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点.   ...

  8. 一个C语言宏展开问题

    转自一个C语言宏展开问题 一个令人比较迷惑的问题,学C语言好多年,今天终于搞明白,记之. ------------------------------------------------------- ...

  9. nginx 域名rewrite跳转

    转自:http://blog.csdn.net/xingfujie/article/details/7337832 需求:nginx规则,所有对OA.bccom.info的访问,redirect到uc ...

  10. 服务器部署_linuix下 一台nginx 多域名之二

    第二个需求: 1. 一台服务器部署了三个应用web1~web3对应三个域名:www.web1.com.www.web2.com.www.web3.com ,方法参照我另外一篇文章 2. 如果用非www ...