Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。

其工作原理示意图如下:

1.为什么使用Zookeeper

»      大部分分布式应用需要一个主控、协调器或控制器来管理物理分布的子进程(如资源、任务分配等)

»      目前,大部分应用需要开发私有的协调程序,缺乏一个通用的机制

»      协调程序的反复编写浪费,且难以形成通用、伸缩性好的协调器

»      ZooKeeper:提供通用的分布式锁服务,用以协调分布式应用

2.Zookeeper能做什么

»      Hadoop2.0,使用Zookeeper的事件处理确保整个集群只有一个活跃的NameNode,存储配置信息等

»      HBase,使用Zookeeper的事件处理确保整个集群只有一个HMaster,察觉HRegionServer联机和宕机,存储访问控制列表等

3.Zookeeper的特性

»      Zookeeper是简单的

»      Zookeeper是富有表现力的

»      Zookeeper具有高可用性

»      Zookeeper采用松耦合交互方式

»      Zookeeper是一个资源库

 

4.在Linux下的配置

我们启动三个主机,每个执行相同的操作。

首先下载压缩包

http://labs.renren.com/apache-mirror/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz

进行解压tar -zxvf zookeeper-3.4.5.tar.gz -C /home/hadoop/app

在zookeeper/conf/zoo.cfg中进行如下配置:(刚开始是zoo_sample.cfg,重命名一下,最下面三个是三台主机的IP)

# 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.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/home/hadoop/app/zookeeper-3.4.5/data
# the port at which the clients will connect
clientPort=2181
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=192.168.230.135:2888:3888
server.2=192.168.230.136:2888:3888
server.3=192.168.230.137:2888:3888

回到data目录下(data目录是自己建的zookeeper/data),分别在不同主机下执行echo 1 > myid,echo 2 > myid,echo 3 > myid

在zookeeper/bin目录下,进行启动:./zkServer.sh start(关闭是 ./zkServer.sh stop)

进行监控:./zkServer.sh status

可以看到一台主节点,两台从节点。

批量启动zookeeper服务器脚本(可以自己修改):

#!/bin/sh
echo 'start zkServer...'
for i in
do
ssh weekend0$i 'source /etc/profile;/home/hadoop/app/zookeeper-3.4.5/bin/zkServer.sh start'
done

Linux下搭建Zookeeper环境的更多相关文章

  1. Linux 下搭建 Kafka 环境

    Linux 下搭建 Kafka 环境 作者:Grey 原文地址: 博客园:Linux 下搭建 Kafka 环境 CSDN:Linux 下搭建 Kafka 环境 环境要求 操作系统:CentOS 7 下 ...

  2. Linux 下搭建 HBase 环境

    Linux 下搭建 HBase 环境 作者:Grey 原文地址: 博客园:Linux 下搭建 HBase 环境 CSDN:Linux 下搭建 HBase 环境 前置工作 首先,需要先完成 Linux ...

  3. Linux下搭建PHP环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  4. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

  5. Java学习心得之 Linux下搭建JavaWeb环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...

  6. Ruby学习心得之 Linux下搭建Ruby环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...

  7. linux 下搭建php环境

    linux 下搭建php环境 1.下载apache (http://httpd.apache.org/download.cgi) 下载php组件 ( http://cn2.php.net/get/ph ...

  8. linux下搭建lamp环境以及安装swoole扩展

    linux下搭建lamp环境以及安装swoole扩展   一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源  我安装的环境是:apache2.2.15+mysql5 ...

  9. Linux下搭建JSP环境

    Linux下搭建JSP环境     作为一名Java EE系统架构工程师,经常需要搭配和建立JSP(Java Server Pages)的开发环境和运行环境,所以本人在平时的工作中积累了一些在Linu ...

随机推荐

  1. 【4.29安恒杯】writeup

    #### 安恒杯_writeup 下面为比赛中做出的题目 MISC: SHOW ME THE FLAG-by-cyyzore CRYPTO: LAZYATTACK-by-GoldsNow 这一题非常巧 ...

  2. iOS 使用腾讯地图显示用户位置注意事项

    1. 向 target中info 加入  NSLocationWhenInUseUsageDescription,string 类型.值是描写叙述为什么须要用户位置,这句话会出如今 提示用户是否同意a ...

  3. java 过滤器补充

    多个Filter按照在配置文件中配置的filter顺序执行. 在web.xml文件中配置该Filter,使用init-param元素为该Filter配置参数,init-param可接受如下两个子元素: ...

  4. 绘制函数y=(x^2-2x+1)/(x^2+x+2)的曲线

    代码: <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type ...

  5. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何添加Scope监控

    添加一个Scope YT NC项目   默认添加的就是对Axis_1的监控,位置,速度和加速度都有,可以删除模长的监控(Position modulo)   点击Record就可以记录曲线了(要停止记 ...

  6. Win7盗版提示,屏幕右下角出现 Windows内部版本7601此Windows副本不是正版怎么办

    Windows7 屏幕右下角出现 Windows内部版本7601此Windows副本不是正版 有很多人反应windows7会出现提示"Win7内部版本7600此Windows副本不是正版&q ...

  7. IOS 开发学习33 使用sqlite3

    sqlite3 命令行简单使用 sqlite3 路径 //打开数据库路径连接 select * from sqlite_master where type="table"; //显 ...

  8. [置顶] 原创鼠标拖动实现DIV排序

    先上效果图: 对比传统的排序,这是一个很不错的尝试,希望对大家有启发. 大家可以参考我的上一篇博文:http://blog.csdn.net/littlebo01/article/details/12 ...

  9. Andorid上拉加载更多的几种实现方式

    1.前言 Andriod中上拉加载更多的效果随处可见,因为一次性要展现的数据太多信息量太大的话,给用户的体验就很差(加载慢,界面卡顿.流量消耗大等),而加载更多可以控制每次加载条目的数量以达到快速加载 ...

  10. pip运行报错Fatal error in launcher: Unable to create process using pip.exe

    使用pip的时候报错Fatal error in launcher: Unable to create process using pip.exe 解决办法,升级pip python -m pip i ...