zoukankan      html  css  js  c++  java
  • Zookeeper的单机&集群环境搭建

    单机环境的安装

    首先下载ZK的二进制安装包:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/

    将安装包上传到Linux上:

    • 进行解压 : tar zxvf zookeeper-3.4.14.tar.gz

    • 进行更名 : mv zookeeper-3.4.14 zookeeper

    • 删除压缩包 :rm -rf zookeeper-3.4.14.tar.gz

    进入到我们更名后的ZK文件夹内创建个文件夹 : mkdir data

    进入到conf文件夹 复制一个文件且更名: cp zoo_sample.cfg zoo.cfg

      

    对zoo.cfg文件进行编辑 vim zoo.cfg

    数据文件夹dataDir指定为我们刚刚创建的那个data文件夹的路径,不要使用系统的/tmp目录作为ZK的数据目录

       

    然后我们就可以启动服务了,在解压文件的bin目录下 :

    • 启动服务: ./zkServer.sh start

    • 查看状态: ./zkServer.sh status

    单机的我们到这里就算是搭建完成了,用于测试环境还行,由于单机的服务都存在一个致命问题那就是单点故障问题,所以一般在生产环境中诸多这种类型的服务都是以集群的方式出现,下面我们搭建一个由三台服务器构成的的ZK集群

    集群环境的搭建

    在ZK集群环境下只要一般以上的机器正常启动了,那么这个集群服务就是OK 的,所以一把参与集群的机器都是单,比如5个机器,只需要3个正常就OJBK,下面我们就简单的使用三个机器搭建一下ZK的集群环境,三台机器的ip分别为如下:

    • 192.168.159.159

    • 192.168.159.169

    • 192.168.159.179

    和创建单机环境一莫一样的步骤,只是添油加醋

    首先我们在159的机器上开动

    如法炮制

    zk二进制文件上传、解压、更名、参考前面单机安装

    首先在解压文件下创建data文件夹,用于保存内存数据库保存的模糊快照 :mkdir data

    然后就是复制并更名一个文件 :cp zoo_sample.cfg zoo.cfg

    添油加醋

    编辑该文件 vim zoo.cfg

    • 第一个修改dataDir指向我们创建的data目录

    • 第二个在下面添加如下图数据

    首先解释一下添加并圈起来的数据:

    • sserver.1:表示这个ZK启动后,ZK的myId就是 1

    • 后面跟对应服务器的ip

    • 然后就是2888,这是一个连接端口号,数据通讯的时候(比如同步 )通过这个端口号进行通讯

    • 然后就是3888,这是一个选举端口号,当选举时使用这个端口号进行通讯

    创建myid文件

    除了修改 zoo.cfg 配置文件,集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下,这个目录也是我们自己创建的,也就是那个data目录,这个文件里面就只有一个数据就是 刚刚配置的那个myId的值,Zookeeper 启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个server。

    在创建的data文件夹内创建文件: vi myid

    每个机器都键入对应myid保存退出即可 比如59的myid为1 ,69的myid为2,就是配置文件中那个myid

    配置环境变量

    vi /etc/profile 在末端添加如下数据

    • export ZOOKEEPER_HOME=/usr/local/ZK/zookeeper

    • export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

    退出保存后进入到 /etc 目录下 执行刷新生效命令 source profile

    然后就是我们三台机器的启动工作了:

    • 服务启动:zkServer.sh start

    • 查看状态:zkServer.sh status

    三台机器的状态依次为:

      

      

      

    这里提醒一下,防火墙我是直接关闭了的,要么你的开通那几个端口,要么直接关闭防火墙服务

    集群环境到这里就算搭建完成了

       

     

  • 相关阅读:
    联想电脑关闭屏幕点亮屏幕(T480为例)
    安卓手机时钟APP推荐
    电脑手机端如何互传文件、图片、网址等
    仿写一个简陋的 IOC/AOP 框架 mini-spring
    类加载之 <clinit>() 和 <init>()
    深入理解Java类加载
    Java垃圾回收
    Java内存区域(运行时数据区域)和内存模型(JMM)
    Java 泛型学习总结
    一篇文章概括 Java Date Time 的使用
  • 原文地址:https://www.cnblogs.com/msi-chen/p/11068925.html
Copyright © 2011-2022 走看看