一、前期环境

  • 安装概览
IP Host Name     Software    
192.168.23.128     ae01 JDK 1.7
192.168.23.129 ae02 JDK 1.7
192.168.23.130 ae03 JDK 1.7
    若使用虚拟机安装,可以安装samba, smbfs方便对于文件的控制。
  • 系统环境: ubuntu-12.04.2-server-amd64
  • 安装目录: /usr/local/ae
  • JDK 安装目录: export JAVA_HOME=/usr/local/ae/jdk1.7.0_51
  • Zookeeper版本: zookeeper-3.4.5

二、Zookeeper 安装

  • 修改host文件,添加3台服务器的hostname, 以ae01 为例。

    user@ae01:/usr/local/ae$ sudo vim /etc/hosts
    127.0.0.1         localhost
    192.168.23.128 ae01
    192.168.23.129 ae02
    192.168.23.129 ae03
  • 解压zookeeper-3.4.5.tar.gz 到/usr/local/ae 目录
    user@ae01:/usr/local/ae$ sudo tar -zxvf zookeeper-3.4.5.tar.gz
  • 复制$ZOOKEEPER_HOME/conf/zoo_sample.cfg 为zoo.cfg 并修改
    user@ae01:/usr/local/ae/zookeeper-3.4./conf$ sudo vm zoo_sample.cfg zoo.cfg
  • 修改zoo.cfg
    # The number of milliseconds of each tick
    tickTime=2000
    # The number of ticks that the initial
    # synchronization phase can take
    initLimit=5
    # The number of ticks that can pass between
    # sending a request and getting an acknowledgement
    syncLimit=2
    # the directory where the snapshot is stored.
    # do not use /tmp for storage, /tmp here is just
    # example sakes.
    dataDir=/usr/local/ae/storage/zookeeper
    # 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=ae01:2888:3888
    server.2=ae02:2888:3888
    server.3=ae03:2888:3888
    dataDir 为Zookeeper保存数据的文件夹
    server.1=ae01:2888:3888 '2888'为连接所使用的端口号,'3888'为选举leader使用的端口号
  • 复制zookeeper-3.4.5 到ae02,ae03
    user@ae01:/usr/local/ae$ scp -r zookeeper-3.3.5/ user@ae01:/usr/local/ae
    user@ae01:/usr/local/ae$ scp -r zookeeper-3.3.5/ user@ae02:/usr/local/ae
  • 设置myid
    user@ae01:/usr/local/ae$ echo "" > /usr/local/ae/storage/zookeeper/myid
    user@ae02:/usr/local/ae$ echo "" > /usr/local/ae/storage/zookeeper/myid
    user@ae03:/usr/local/ae$ echo "" > /usr/local/ae/storage/zookeeper/myid

    myid的值对应着上文中 server.x 的参数

三、启动Zookeeper 集群

  • 启动Zookeeper

    user@ae01:/usr/local/ae/zookeeper-3.4.5/bin$ sudo zkServer.sh start
    user@ae02:/usr/local/ae/zookeeper-3.4.5/bin$ sudo zkServer.sh start
    user@ae03:/usr/local/ae/zookeeper-3.4.5/bin$ sudo zkServer.sh start

    由于ZooKeeper集群启动的时候,每个结点都试图去连接集群中的其它结点,先启动的肯定连不上后面还没启动的,日志前面部分出现连接异常(java.net.ConnectException: Connection refused )是可以忽略的。集群在选出一个Leader后,最后稳定了。

  • 验证启动
    user@ae01:/usr/local/ae/zookeeper-3.4.5/bin$ zkServer.sh status
    JMX enabled by default
    Using config: /usr/local/ae/zookeeper-3.4.5/bin/../conf/zoo.cfg
    Mode: leader
    user@ae02:/usr/local/ae/zookeeper-3.4.5/bin$ zkServer.sh status
    JMX enabled by default
    Using config: /usr/local/ae/zookeeper-3.4.5/bin/../conf/zoo.cfg
    Mode: follower
    user@ae03:/usr/local/ae/zookeeper-3.4.5/bin$ zkServer.sh status
    JMX enabled by default
    Using config: /usr/local/ae/zookeeper-3.4.5/bin/../conf/zoo.cfg
    Mode: follower

四、文档参考

  • http://zookeeper.apache.org/doc/trunk/zookeeperOver.html

Zookeeper 分布式环境搭建的更多相关文章

  1. 攻城狮在路上(陆)-- hadoop分布式环境搭建(HA模式)

    一.环境说明: 操作系统:Centos6.5 Linux node1 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 ...

  2. Hadoop-04-HBase全然分布式环境搭建

    Hbase分布式具体安装步骤 Hadoop全然分布式环境已经搭建完毕(參见01_Hadoop全然分布式环境搭建). 注意:Hbase和Hadoop的版本号必须相应! 不然会出现各种问题! 这里选用的是 ...

  3. hadoop学习(三)----hadoop2.x完全分布式环境搭建

    今天我们来完成hadoop2.x的完全分布式环境搭建,话说学习本来是一件很快乐的事情,可是一到了搭环境就怎么都让人快乐不起来啊,搭环境的时间比学习的时间还多.都是泪.话不多说,走起. 1 准备工作 开 ...

  4. 【Hadoop离线基础总结】完全分布式环境搭建

    完全分布式环境搭建 服务规划 适用于工作当中正式环境搭建 安装步骤 第一步:安装包解压 停止之前的Hadoop集群的所有服务,并删除所有机器的Hadoop安装包,然后重新解压Hadoop压缩包 三台机 ...

  5. HDFS 高可用分布式环境搭建

    HDFS 高可用分布式环境搭建 作者:Grey 原文地址: 博客园:HDFS 高可用分布式环境搭建 CSDN:HDFS 高可用分布式环境搭建 首先,一定要先完成分布式环境搭建 并验证成功 然后在 no ...

  6. Hadoop学习笔记(3)——分布式环境搭建

    Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里, ...

  7. Hadoop-2.4.1完全分布式环境搭建

      Hadoop-2.4.1完全分布式环境搭建   Hadoop-2.4.1完全分布式环境搭建 一.配置步骤如下: 主机环境搭建,这里是使用了5台虚拟机,在ubuntu 13系统上进行搭建hadoop ...

  8. Hadoop2.7.3+Spark2.1.0 完全分布式环境 搭建全过程

    一.修改hosts文件 在主节点,就是第一台主机的命令行下; vim /etc/hosts 我的是三台云主机: 在原文件的基础上加上; ip1 master worker0 namenode ip2 ...

  9. [ZooKeeper] 2 环境搭建

    上一篇中我们介绍了 ZooKeeper 的一些基本概念,这篇我们讲一下 ZooKeeper 的环境搭建. ZooKeeper 安装模式 单机模式:ZooKeeper 运行在一台服务器上,适合测试环境: ...

随机推荐

  1. 在 Windows 和 Linux(Gnome) 环境下 从命令界面打开网页的方式

    1.在 Windows 中 通过命令 可以打开网页是很简单的: start http://www.baidu.com 或 start iexplorer http://www.baidu.com 第二 ...

  2. Android高性能ORM数据库DBFlow入门

    DBFlow,综合了 ActiveAndroid, Schematic, Ollie,Sprinkles 等库的优点.同时不是基于反射,所以性能也是非常高,效率紧跟greenDAO其后.基于注解,使用 ...

  3. 三、jQuery--jQuery基础--jQuery基础课程--第1章 初识jQuery

    环境搭建 搭建一个jQuery的开发环境非常方便,可以通过下列几个步骤进行. 下载jQuery文件库 在jQuery的官方网站(http://jquery.com)中,下载最新版本的jQuery文件库 ...

  4. JavaWeb学习之Path总结、ServletContext、ServletResponse、ServletRequest(3)

    1.Path总结 1.java项目 1 File file = new File(""); file.getAbsolutePath(); * 使用java命令,输出路径是,当前j ...

  5. ASP.NET Web API 配置返回的json字段的格式以及Action返回HttpResponseMessage类型和IHttpActionResult类型

    1. 对于返回的Json对象格式是以“帕斯卡”风格的(例如“FirstName”),然而我们的Api有很大的可能被带有Javascript的客户端消费,对于JS开发者来说可能更适合“驼峰”风格(例如” ...

  6. Android中libs目录下armeabi和armeabi-v7a的区别

    armeabi默认选项,支持基于 ARM* v5TE 的设备支持软浮点运算(不支持硬件辅助的浮点计算)支持所有 ARM* 设备 armeabi-v7a支持基于 ARM* v7 的设备支持硬件 FPU ...

  7. Delphi中record和packed record的区别

    转载:http://blog.csdn.net/rznice/article/details/6566978 第一种不带packed关键字的结构体表明编译器编译时要求进行字对齐. 而第二种带packe ...

  8. 图结构练习——判断给定图是否存在合法拓扑序列(dfs算法(第一个代码),邻接矩阵(前两个代码),邻接表(第三个代码))

    sdut 2140 图结构练习——判断给定图是否存在合法拓扑序列 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述  给定一个有向图 ...

  9. win7Java开发环境配置

    win7下Java开发环境的配置 首先下载符合操作系统版本的jdk,比如最新的jdk8: 下载链接:http://www.oracle.com/technetwork/java/javase/down ...

  10. Swing布局基础

    虽然很简单,但还是记录一下,以备复查. 1.BorderLayout ,这是JFrame的默认布局方式,基于此的新组件,例如BUTTON,可以放在东西南北中的某一个位置,如果不指定,则默认是中央.中央 ...