1.从官网下载程序包。

2.解压。

[dev@localhost software]$ tar xzvf zookeeper-3.4.6.tar.gz

3.进入zookeeper文件夹后创建data文件夹。

[dev@localhost software]$ cd zookeeper-3.4.6
[dev@localhost software]$ mkdir data
[dev@localhost software]$ cd data
[dev@localhost software]$ touch myid




        myid这个文件必须创建。不然启动的时候会跑出以下的异常。

[dev@localhost bin]$ ./zkServer.sh start-foreground
JMX enabled by default
Using config: /home/dev/zookeeper/zookeeper1/bin/../conf/zoo.cfg
2015-03-12 16:06:38,155 [myid:] - INFO [main:QuorumPeerConfig@101] - Reading configuration from: /home/dev/zookeeper/zookeeper1/bin/../conf/zoo.cfg
2015-03-12 16:06:38,159 [myid:] - INFO [main:QuorumPeerConfig@334] - Defaulting to majority quorums
2015-03-12 16:06:38,161 [myid:] - ERROR [main:QuorumPeerMain@85] - Invalid config, exiting abnormally
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing /home/dev/zookeeper/zookeeper1/bin/../conf/zoo.cfg
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:121)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:101)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)
Caused by: java.lang.IllegalArgumentException: /home/dev/zookeeper/zookeeper1/data/myid file is missing
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:344)
at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:117)
... 2 more
Invalid config, exiting abnormally

        myid文件中必需要有内容,其值相应zoo.cfg中server的id。有点绕,我也是试了好多次才配好的。也就说,假如集群的配置例如以下,那问题来了,怎么区分当前启动的zookeeper是哪一个呢?就是通过myid文件来区分的。第1个zookeeper服务的myid文件的内容就是1。其他就以此类推了。假设myid配错了,后果非常严重——zookeeper服务起不来。O(∩_∩)O哈哈~,而且报以下的异常。

server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890
[dev@localhost bin]$  ./zkServer.sh start-foreground
JMX enabled by default
Using config: /home/dev/zookeeper/zookeeper2/bin/../conf/zoo.cfg
2015-03-12 16:09:35,422 [myid:] - INFO [main:QuorumPeerConfig@101] - Reading configuration from: /home/dev/zookeeper/zookeeper2/bin/../conf/zoo.cfg
2015-03-12 16:09:35,426 [myid:] - INFO [main:QuorumPeerConfig@334] - Defaulting to majority quorums
2015-03-12 16:09:35,434 [myid:0] - INFO [main:DatadirCleanupManager@78] - autopurge.snapRetainCount set to 3
2015-03-12 16:09:35,434 [myid:0] - INFO [main:DatadirCleanupManager@79] - autopurge.purgeInterval set to 0
2015-03-12 16:09:35,435 [myid:0] - INFO [main:DatadirCleanupManager@101] - Purge task is not scheduled.
2015-03-12 16:09:35,455 [myid:0] - INFO [main:QuorumPeerMain@127] - Starting quorum peer
2015-03-12 16:09:35,472 [myid:0] - INFO [main:NIOServerCnxnFactory@94] - binding to port 0.0.0.0/0.0.0.0:2182
2015-03-12 16:09:35,500 [myid:0] - INFO [main:QuorumPeer@913] - tickTime set to 2000
2015-03-12 16:09:35,501 [myid:0] - INFO [main:QuorumPeer@933] - minSessionTimeout set to -1
2015-03-12 16:09:35,501 [myid:0] - INFO [main:QuorumPeer@944] - maxSessionTimeout set to -1
2015-03-12 16:09:35,502 [myid:0] - INFO [main:QuorumPeer@959] - initLimit set to 10
2015-03-12 16:09:35,519 [myid:0] - ERROR [main:QuorumPeer@171] - Setting LearnerType to PARTICIPANT but 0 not in QuorumPeers.
2015-03-12 16:09:35,530 [myid:0] - INFO [main:QuorumPeer@429] - currentEpoch not found! Creating with a reasonable default of 0. This should only happen when you are upgrading your installation
2015-03-12 16:09:35,591 [myid:0] - INFO [main:QuorumPeer@444] - acceptedEpoch not found! Creating with a reasonable default of 0. This should only happen when you are upgrading your installation
2015-03-12 16:09:35,598 [myid:0] - ERROR [main:QuorumPeerMain@89] - Unexpected exception, exiting abnormally
java.lang.RuntimeException: My id 0 not in the peer list
at org.apache.zookeeper.server.quorum.QuorumPeer.startLeaderElection(QuorumPeer.java:479)
at org.apache.zookeeper.server.quorum.QuorumPeer.start(QuorumPeer.java:411)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.runFromConfig(QuorumPeerMain.java:151)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:111)
at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:78)

4.改动zoo.cfg文件。

在zookeeper/conf/zoo.cfg改动dataDir的文件夹,就是我们在第2步中创建的data文件夹。

在文件最后加入zookeeper集群节点地址。

server.1=localhost:2888:3888
server.2=localhost:2889:3889
server.3=localhost:2890:3890

5.其他节点配置。

好了,上面已经配置好了1个zookeeper服务。然后直接copy刚才配好的zookeeper文件夹两份。改动data/myid文件中的id,zoo.cfg的dataDir。clientPort。

6.然后分别启动zookeeper。

ZooKeeper伪集群环境搭建好了,不然让它静静地在那里跑着,继续捣鼓它。

。。。。

ZooKeeper伪集群环境搭建的更多相关文章

  1. zookeeper伪集群的搭建

    由于公司服务器数量的限制,我们往往没有那么多的服务器用来搭建zookeeper的集群,所以产生了伪集群的搭建,也就是将多个zookeeper搭建在同一台机器上. 准备工作: 1,一台服务器,我们这里用 ...

  2. 【Zookeeper】集群环境搭建

    一.概述 1.1 Zookeeper的角色 1.2 Zookeeper的读写机制 1.3 Zookeeper的保证 1.4 Zookeeper节点数据操作流程 二.Zookeeper 集群环境搭建 2 ...

  3. Hadoop+HBase+ZooKeeper分布式集群环境搭建

    一.环境说明 集群环境至少需要3个节点(也就是3台服务器设备):1个Master,2个Slave,节点之间局域网连接,可以相互ping通,下面举例说明,配置节点IP分配如下: Hostname IP ...

  4. zookeeper 单机. 集群环境搭建

    zookeeper分布式系统中面临的很多问题, 如分布式锁,统一的命名服务,配置中心,集群的管理Leader的选举等 环境准备 分布式系统中各个节点之间通信,Zookeeper保证了这个过程中 数据的 ...

  5. ZooKeeper伪集群的搭建(Windows)

    首先下载 zookeeper 地址:https://www.apache.org/dyn/closer.cgi/zookeeper/ 1.下载完成解压后修改文件夹名字为zookeeper1,然后删除c ...

  6. Hadoop 学习之路(四)—— Hadoop单机伪集群环境搭建

    一.前置条件 Hadoop的运行依赖JDK,需要预先安装,安装步骤见: Linux下JDK的安装 二.配置免密登录 Hadoop组件之间需要基于SSH进行通讯. 2.1 配置映射 配置ip地址和主机名 ...

  7. zookeeper集群环境搭建详细图文教程

    zookeeper集群环境搭建详细图文教程 zhoubang @ 2018-01-02 [文档大纲] 友情介绍 软件环境 注意点 环境安装 1. 新建用于存储安装包以及软件安装的目录 2. 下载安装z ...

  8. 【Hadoop离线基础总结】zookeeper的介绍以及集群环境搭建、网络编程和RPC的简单了解

    ZooKeeper的介绍以及集群环境搭建.网络编程和RPC的简单了解 ZooKeeper介绍 概述 ZooKeeper是一个分布式协调服务的开源框架,主要用来解决分布式集群中应用系统的一致性问题.例如 ...

  9. win10环境下搭建zookeeper伪集群

    一.下载zookeeper https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 这里笔者下载的是zookeeper-3.3.6 二.配置zoo ...

随机推荐

  1. SDUT 1225-编辑距离(串型dp)

    编辑距离 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描写叙述 如果字符串的基本操作仅为:删除一个字符.插入一个字符和将一个字符改动 ...

  2. UVA - 1642 Magical GCD 数学

                                  Magical GCD The Magical GCD of a nonempty sequence of positive integer ...

  3. 英语发音规则---N字母

    英语发音规则---N字母 一.总结 一句话总结: 1.位于词尾的n在m后面时不发音? autumn /'ɔːtəm/ n. 秋天 column /'kɒləm/ n. 纵队 2.在音素/k//g/前面 ...

  4. 完整注册+JQuery验证+selert后台校验

    Java代码 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8 ...

  5. Git 学习笔记(三)

    我记得最初学习的时候我提到了使用版本控制软件的最大好处是让你可以永远后悔,那么如何吃后悔药呢?在项目过程中我们很有可能因为各种因素对我们的操作进行回滚,对于传统的版本控制系统来说,并不复杂,拿 SVN ...

  6. BZOJ 2287 DP+容斥

    思路: 先处理出来f[j]表示这i个物品都可用 填满容量j的方案数 容斥一发 处理出来g[j]=g[j-w[i]] 表示i不能用的时候 填满容量j的方案数 //By SiriusRen #includ ...

  7. 关于ubuntu中文输入调用不出来的解决办法,具体如正文。

    卸载了 fcitx sudo apt-get remove fcitx 重启 sudo reboot 重新安装 fcitxsudo apt-get install fcitx 安装拼音输入法sudo ...

  8. Spark RDD概念学习系列之action操作

    不多说,直接上干货! action操作  

  9. 在js在添版本号

    为了增加用户访问网站体验,快速打开网页,许多网站都对不常更新的js,css文件在浏览器端设置了缓存.但如果在服务器端做了更新,浏览器使用的仍是缓存在本地的js文件,除非强制清缓存(ctrl+F5).为 ...

  10. python中set集合的使用

    集合(set):把不同的元素组成一起形成集合,是python基本的数据类型. python 的集合类型和 其他语言类似, 是一个无序不重复元素集 基本功能包括关系测试和消除重复元素.集合对象还支持un ...