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. mysql如何备份

    mysqldump -h主机 -u用户名 -p密码 库名 表名 >xxx.sql

  2. Linux *.service文件详解

    什么是systemd service? systemd service是一种以.service 结尾的配置文件,是一个专用于Linux操作系统的系统与服务管理器.简单来说,用于后台以守护精灵(daem ...

  3. 【云原生 · Docker】Docker简介及基本组件

    [云原生·Docker]Docker简介及基本组件 1.Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linu ...

  4. node版本管理工具fnm踩坑

    我建议是直接不要用fnm,还是老老实实用nvm吧 fnm下下来电脑防火墙会报毒(用github上推荐的cargo install fnm方式下载,并非第三方安装) Trojan.Generic.HgE ...

  5. web框架推导 wsgiref模块 jinja2模板语法 django框架简介 django基本操作

    目录 纯手撸web框架 web框架的本质 手写web框架 存在的问题 基于wsgiref模块 基本介绍 推导流程 代码封装优化 总结 动静态网页 jinja2模块 前端.后端.数据库三者联动 推导流程 ...

  6. SQL语句查询关键字

    SQL语句查询关键字前戏 SQL语句中关键字的执行顺序和编写顺序并不是一致的,可能会错乱 eg: select id,name from userinfo;我们先写的select再写的from,但是执 ...

  7. 将git仓库从submodule转换为subtree

    三个脚本 Alexander Mikhailian cat .gitmodules |while read i do if [[ $i == \[submodule* ]]; then mpath=$ ...

  8. Python3套接字(socket)通讯(TCP)

    最近写了一个工程,用作运维的,所以研究了一下Python的TCP通讯(服务器挂一个脚本,电脑挂一个脚本,就可以通过此通讯进行编码加密后传输取回想要的内容) 服务端: from socket impor ...

  9. [编程基础] 常用html标签使用介绍

    常用html标签使用介绍 本文主要记录常用的html标签使用说明,用起来的时候偶尔查查. 常用html标签列表 标签 英文全拼 作用 特点 <html></html> html ...

  10. 基于Spark的均值漂移算法在网络舆情聚类中的应用

    知网链接 原文链接 张京坤,  王怡怡 软件导刊   2020年19卷第9期 页码:190-195 DOI:10.11907/rjdk.192529 出版日期:2020-9-15 摘 要: 为了改善网 ...