zoukankan      html  css  js  c++  java
  • Zookeeper集群

    1、安装环境介绍

    • 先介绍环境:
    1.   由于zookeeper集群的运行需要Java运行环境,所以需要首先安装 JDK,关于安装步骤,我在前面博客介绍过:CentOS7 安装JDK

    2. 安装版本:zookeeper-3.4.6         官方所有版本下载地址         我的下载资源 zookeeper-3.4.6

    3. 3台个人云服务器    A(20)          B(37)             C(26) 

    4. 开放端口:2181      2888      3888

    5. 如果开启防火墙建议关闭

    查看防火墙状态: systemctl status firewalld.service
     
    绿的running表示防火墙开启
     
    执行关闭命令: systemctl stop firewalld.service
     
    再次执行查看防火墙命令:systemctl status firewalld.service
     
    执行开机禁用防火墙自启命令  : systemctl disable firewalld.service

    2、 解压Zookeeper    (三台节点都重复执行步骤 2-5)

    tar -zxvf zookeeper-3.4.6.tar.gz

    3、 修改 zoo_sample.cfg  配置文件

      1、进入解压后的 zookeeper-3.4.6  文件夹下的  conf 文件夹

    cd zookeeper-3.4.6/
    cd conf/

      2、复制zoo_sample.cfg    并重命名     为  zoo.cfg

    cp zoo_sample.cfg zoo.cfg

      

    3、修改配置文件

    • tickTime:Zookeeper使用的基本时间单位(毫秒)。它用于做心跳,并且最小会话超时将是tickTime 的两倍
    • dataDir:除非另有说明,否则存储内存数据库快照的位置以及数据库更新的事务日志
    • clientPort:侦听客户端连接的端口

    server.20=0.0.0.0:2888:3888    server.20=ip:2888:3888     云服务器本机用0.0.0.0   虚拟机用ip
    server.37=ip:2888:3888
    server.26=ip:2888:3888

    server.A =   B:C:D

    • A 代表服务器的编号

    • B 代表服务器的ip 地址

    • C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口

    • D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader

    pwd
    vim zoo.cfg 
    
    需要修改添加的配置文件内容:
    
    dataDir=复制Zookeeper目录/data
    server.20=0.0.0.0:2888:3888     云服务器本机用0.0.0.0   虚拟机用ip
    server.37=ip:2888:3888
    server.26=ip:2888:3888
    

     

     

    4、创建myid文件

    回到 Zookeeper 根目录下   创建刚刚在配置文件中指定的  dataDir 目录     data

    进入  data ,  vim myid

    将  刚刚配置的  server.20=ip:2888:3888    server.A =   B:C:D   

    当前服务器标记  20 写到 myid去

    进入到Zookeeper根目录
    mkdir data
    cd data/
    vim myid
    
    myid 里面写上刚刚配置这台服务器的标记
    20

    5、配置环境变量

    这步骤的目的是:随时随地都可以执行   Zookeeper   的命令

    vim /etc/profile
    export ZK_HOME=你的Zookeeper根目录
    export PATH=$PATH:$ZK_HOME/bin
    
    :wq
    source /etc/profile

    # 6、 启动Zookeeper 服务

    我们分别对  3台服务器 执行启动命令,执行完毕后,分别查看集群节点的状态:  

    zkServer.sh start
    zkServer.sh status

     如图代表集群搭建成功

    启动命令:

    zkServer.sh start
    

    停止命令:

    zkServer.sh stop

    重启命令:

    zkServer.sh restart

     查看集群节点状态:

    zkServer.sh status

    遇到的坑

    • 如果你是使用云服务器请将当前节点ip 设置为 0.0.0.0 ,否则监听器无法连接到端口
    Cannot open channel to 2 at election address /10.10.87.241:3888 java.net.ConnectException: Connection refused (Connection refused)
    

    •  当无法启动时,启动不起来时。不妨试着删除掉  /data  目录下的  pid 文件。在试试
    Cannot open channel to 37 at election address /ip:3888 java.net.ConnectException: Connection refused (Connection refused)onfig, exiting abnormally
  • 相关阅读:
    java中有趣的unicode转义序列
    react父组件传入子组件的props不更新问题
    create-react-app修改端口号
    转移博客启动中。。。
    idea java界面设置中文
    记录一次 electronjs 12.0.0 安装运行出现cli.js出错、以及获取不到nodeapi的问题(解决办法:版本不对导致的)
    springboot 统一json返回格式,并设置http响应码
    springboot 统一json返回结构
    【Python】【PyPI】twine模块打包python项目上传pypi
    【GitHub】README.md自述文件配置
  • 原文地址:https://www.cnblogs.com/blogspring/p/14191744.html
Copyright © 2011-2022 走看看