1.前言

  在前面的文章中讲了单机版zookeeper的搭建,现在在单机版的基础上搭建集群。默认单机版的搭建好了。我这里只有一台服务器,所以在单机上搭建的为集群

2.将单机安装好的zookeeper复制三份

apache-zookeeper-3.5为单机版安装好的,另外三份是复制的,且重命名.三个zookeeper的端口分别是2181、2182、2183

3.修改zookeeper-2181的配置文件

  参数dataDir修改

    改成对应的路径dataDir=/usr/local/programs/zookeeper/zookeeper-2181/data

  参数clientPort修改:修改端口号

    clientPort=2181

  添加下列配置:

    #集群配置信息
    #server.A=B:C:D   
    #A:是一个数字,表示这个是服务器的编号   
    #B:是这个服务器的ip地址   
    #C:Zookeeper服务器之间的通信端口   
    #D:Leader选举的端口

    server.1=59.111.138.4.:2287:3387
    server.2=59.111.138.4:2288:3388
    server.3=59.111.138.4:2289:3389

    注意:由于我这里三个zookeeper在同一个服务器上面,所以ip是一样的,也可以写成0.0.0.0   

# 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=/usr/local/programs/zookeeper/zookeeper-2181/data
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# 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.A=B:C:D    
#A:是一个数字,表示这个是服务器的编号    
#B:是这个服务器的ip地址    
#C:Zookeeper服务器之间的通信端口    
#D:Leader选举的端口 server.1=0.0.0.0:2287:3387
server.2=0.0.0.0:2288:3388
server.3=0.0.0.0:2289:3389

4.myid文件

  在data文件夹下新建文件,文件名 myid,删除data下其他的文件

  在文件中加入数字1,这个1对应的是server.1=0.0.0.0:2287:3387中server.后面的数字1

  

5. zookeeper-2182和2183重复上面3/4两步的操作

6.到各个的bin目录下启动服务器

  ./zkServer.sh start 启动服务器

   ./zkServer.sh status 查看服务器状态

7.启动可能出现的问题

  启动服务器后,./zkServer.sh status发现服务器没有起来

   查看log文件夹下的日志文件

  7.1可能遇到的问题1

    

    服务器实际是启动了,只是没有连接到另外两台,因为另外两台还没启动。

      解决方案:先不管服务器的状态,一个一个的把zookeeper启动(./zkServer.sh start),最后一个服务器启动了,等待一会儿,再查看这台服务器的状态(./zkServer.sh status),发现,最后一个正常启动了,再回去吧之前的服务器一个个的重新启动(./zkServer.sh restart),再查看状态,发现正常启动,问题解决

  7.2可能问题2:服务器防火墙,关闭即可

  7.3可能问题3:如果用的阿里云服务器,端口需要开放

   7.4可能问题4:

    

  8080端口占用,因为Zookeeper AdminServer,默认使用8080端口(这个被占用了可以先不处理)

8.测试

  在2181出创建节点  你好

  

  在2182出去获取

  

  获取到了,成功

9.observer角色及其配置
  observer角色特点:
    1.不参与集群的leader选举
    2. 不参与集群中写数据时的ack反馈
    为了使用observer角色,在任何想变成observer角色的配置文件中加入如下配置:
        

peerType=observer
    并在所有server的配置文件中,配置成observer模式的server的那行配置追加:observer,例如:
server.3=192.168.60.130:2289:3389:observer

  

zookeeper03-集群搭建的更多相关文章

  1. Solr集群搭建详细教程(一)

    一.Solr集群的系统架构 注:欢迎大家转载,非商业用途请在醒目位置注明本文链接和作者名dijia478,商业用途请联系本人dijia478@163.com. SolrCloud(solr 云)是So ...

  2. Zookeeper节点增删改查与集群搭建(笔记)

    1.上传文件目录说明 上传的文件一般放在 /home/下 安装文件一般在 /usr/local/下 2. 安装zookeeper 2.1将zookeeper-3.4.11.tar.gz拷贝到/home ...

  3. JAVAEE——宜立方商城08:Zookeeper+SolrCloud集群搭建、搜索功能切换到集群版、Activemq消息队列搭建与使用

    1. 学习计划 1.solr集群搭建 2.使用solrj管理solr集群 3.把搜索功能切换到集群版 4.添加商品同步索引库. a) Activemq b) 发送消息 c) 接收消息 2. 什么是So ...

  4. 分享知识-快乐自己:zookeeper 伪集群搭建

    1):单一 zookeeper  搭建步骤 2):zookeeper 伪集群搭建 1):新建一个集群目录 [root@zoodubbo opt]# mkdir zookeeper_cluster 2) ...

  5. (转)淘淘商城系列——Solr集群搭建

    http://blog.csdn.net/yerenyuan_pku/article/details/72957201 我们之前做的搜索使用的是Solr的单机版来实现的,正是由于我们现在商品数据量不多 ...

  6. centos solr 集群搭建

    一.什么是 SolrCloud SolrCloud(solr 云)是 Solr 提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时 ...

  7. 【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)

    Oracle 11G RAC数据库安装(八) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  8. 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)

    Oracle 11G RAC数据库安装(九) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总 ...

  9. 【Data Cluster】真机环境下MySQL数据库集群搭建

    真机环境下MySQL-Cluster搭建文档  摘要:本年伊始阶段,由于实验室对不同数据库性能测试需求,才出现MySQL集群搭建.购置主机,交换机,双绞线等一系列准备工作就绪,也就开始集群搭建.起初笔 ...

  10. (四)Spark集群搭建-Java&Python版Spark

    Spark集群搭建 视频教程 1.优酷 2.YouTube 安装scala环境 下载地址http://www.scala-lang.org/download/ 上传scala-2.10.5.tgz到m ...

随机推荐

  1. 直播CDN调度技术关键挑战与架构设计

    作者:胡济麟 1.背景介绍 1.1 直播业务特点 互联网视频直播是一种消息媒介形态,提供时产时消的内容,经过多年,已经发展出秀场.游戏.电商.体育等多种业务形态.主要特点是:内容实时产生实时消费,对时 ...

  2. 【iOS逆向】某茅台App算法分析还原

    1.目标 某茅台软件的actParam算法分析还原. 2.使用工具 mac系统 frida-ios-dump:砸壳 已越狱iOS设备:脱壳及frida调试 IDA Pro:静态分析 Charles:抓 ...

  3. extern "C"的使用

    在使用C++开发程序时,有时使用到别人开发的第三方库,而这第三库是使用C开发的.直接使用会报错如下: cpp error LNK2019: 无法解析的外部符号 "int __cdecl su ...

  4. 简单使用Nginx反向代理和负载均衡

    配置文件主要是三点: events . http . server 配置反向代理和负载均衡策略 #配置tomcat的IP地址和访问端口||负载均衡:权重就是比例 upstream guotong { ...

  5. github上fork2.4k,star8.7k的这款状态机,原来长这样!

    大家好,我是陶朱公Boy. 前言 上一篇文章<关于状态机的技术选型,最后一个真心好>我跟大家聊了一下关于"状态机"的话题. 于是就有小伙伴私信我,自己项目也考虑引入co ...

  6. BIO和NIO的区别和原理

    BIO BIO(Blocking IO) 又称同步阻塞IO,一个客户端由一个线程来进行处理 当客户端建立连接后,服务端会开辟线程用来与客户端进行连接.以下两种情况会造成IO阻塞: 服务端会一直阻塞,直 ...

  7. Jmeter ForEach 循环控制器

    ForEach Controller 即循环控制器,顾名思义是定义一种循环规则,如下图: 1.名称:控制器名称,可根据用户需要任意填写,也可不填 2.注释:用户可根据需要任意填写,也可不填 3.输入变 ...

  8. UVA 673 Paretheses Balance

    原题Vjudge 题目大意 怼给你一堆括号,判断是否合法 有三条规则 (1)空串合法 (2)如果\(A和B\)都合法,则\(AB\)合法(例如:\(()和[]\)都合法,则\(()[]\)合法) (3 ...

  9. CTFshow——funnyrsa2

    题目如下: 题目分析: 发现n很小,可以考虑yafu分解n,或者使用在线网站,例如:http://factordb.com/.即得p,q,r.因为常规rsa只有p和q,则phi = (p -1) * ...

  10. 一个简单的rust字符串时钟

    1.简介   用rust写的一个简单的练手的demo,一个字符串时钟,在终端用字符串方式显示当前时间.本质是对图片取灰度,然后每个像素按灰度门限用星号代替灰度值,就把图片变为由星号组成的字符型图案.把 ...