美文网首页
Zookeeper集群搭建

Zookeeper集群搭建

作者: 码哥哥 | 来源:发表于2018-11-15 19:55 被阅读0次

Zookeeper在分布式系统中一般用来当做注册中心、配置中心,或者用来实现分布式锁等, 不论哪一个角色在系统中都是绝对的中心,Zookeeper一旦挂掉对系统的影响无疑是毁灭性的, 所以生产环境中一般都会配置为集群保证服务的高可用。

下面我们在一台机器上模拟一下zookeeper集群,其实在多台机也是一样的过程

1. 准备环境:

vi /etc/hosts

添加
127.0.0.1 zkNode1
127.0.0.1 zkNode2
127.0.0.1 zkNode3

三个域名,后边访问各个节点我们使用 域名:port 方式访问,这里配置域名只是为了通用,因为即使是生产环境部署的服务器ip也可能会变。 不配置hosts的话下边可以直接使用IP:PORT也是一样的

ping zkNode1 测试配置是否成功

2 . 安装三个zookeeper

1. 下载zookeeper
 2. 修改配置文件
   将conf/zoo_sample.cfg复制一份命名为zoo.cfg
   # 内存数据的备份地址,必须保证路径存在
   dataDir=/usr/local/zookeeper1/data
   # 存放日志地址,必须保证路径存在
   dataLogDir=/usr/local/zookeeper1/logs
 3. 启动 zkServer 
    zkServer.sh  start
 4. netstat -ntlp #查看是否启动成功

3 . 在 所有zoo.conf 中添加以下信息(单机模拟clientPort不能相同)

tickTime=2000    # Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,每个tickTime 时间就会发送一个心跳。   
dataDir=/usr/local/zookeeper1/data   #Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里
clientPort=218x   #zookeeper提供服务的接口也就是监听客户端连接的端口,自己修改
initLimit=5  #用来配置 Zookeeper 接受客户端初始化连接时最长能忍受多少个心跳时间间隔数。5就表示最长接受5*2000=10秒间隔
syncLimit=2  #Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4 秒
server.1=zkNode1:2887:3887   #1表示这是第几号服务器,zkNode1 是服务器ip, 2883:3888 集群成员之间交换信息的端口:Leader挂了重新选举Leader的端口
server.2=zkNode2:2888:3888  
server.3=zkNode3:2889:3889

4 . 创建myid文件

在我们配置的dataDir目录下创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字,例如:server.1的dataDir下应该建立一个myid的文件,其中写入1

5. 启动集群

先启动哪个无所谓, 由于前面的节点在启动时候会尝试去连接其他节点,所以先启动的节点会有报错信息,这是正常的不用理会,等到leader选举出来了就可以正常工作了


image

客户端连接:

客户端连接集群方式: zookeeper://zkNode1:2181?backup=zkNode2:2182,zkNode3:2183 各节点以逗号分隔, 使用ip:port亦可.

dubboAdmin 连接zookeeper集群:

#修改webapps/ROOT/Web-Info/dubbo.properties:
dubbo.registry.address=zookeeper://zkNode1:2181?backup=zkNode2:2182,zkNode3:2183
或者直接使用ip
dubbo.registry.address=zookeeper://127.0.0.1:2181?backup=127.0.0.1:2182,127.0.0.1:2183

查看节点状态:

./zkServer.sh status

相关文章

  • centos7 搭建kafka集群

    搭建kafka集群,需要先搭建zookeeper集群,搭建zookeeper集群,依赖于jdk 1.下载安装jdk...

  • 多台虚拟机搭建zookeeper集群

    zookeeper集群搭建 kafka是把状态保存在zookeeper中的,首先要搭建zookeeper集群。尽管...

  • Zookeeper相关的命令

    Zookeeper集群的搭建参考:zookeeper单机、集群搭建 配置集群的zoo.cfg的配置:server....

  • zookeeper简介(整理)

    zookeeper单机模式搭建Zookeeper集群及伪集群模式搭建 简介 ZooKeeper 是一个开源的分布式...

  • Zookeeper目录

    Zookeeper(windows)伪集群搭建 Zookeeper简介

  • Docker搭建kafka集群

    搭建zookeeper集群 zookeeper集群搭建 拉取kafka镜像 运行容器 主机一: 主机二: 主机三:

  • Kafka集群

    Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群。Zookeeper集群部署请...

  • Zookeeper docker 集群搭建

    zookeeper docker 集群搭建 本地创建三个虚拟机,搭建docker容器的zookeeper集群 首先...

  • 大数据集群搭建2

    大数据集群搭建 本文档将搭建以下集群 hadoop 集群 zookeeper 集群 hbase 集群 spark ...

  • 大数据集群搭建

    大数据集群搭建 本文档将搭建以下集群 hadoop 集群 zookeeper 集群 hbase 集群 spark ...

网友评论

      本文标题:Zookeeper集群搭建

      本文链接:https://www.haomeiwen.com/subject/palufqtx.html