zoukankan      html  css  js  c++  java
  • linux系统搭建zookeeper集群

    转载至:https://blog.csdn.net/weixin_38111957/article/details/82927878

    一、引言

      今天咱们就来搭建一下zookeeper集群,当然搭建集群,只是为了保证更高效的去使用,避免出现单点故障。 

    二、zookeeper介绍
      zookeeper:看字面的意思是"动物管理员",真正上zookeeper是一个分布式、开源的程序服务器,采用java开发。zookeeper但是不仅仅只能管理solr,比如:hadoop、hive、dubbo等等。zookeeper也是apache提供的开源项目,是hadoop的子项目。

    三、集群搭建
      准备条件:linux服务器一台、配置jdk环境、下载zookeeper安装包。

      小编只是为了写教程,采用一台服务器来进行伪分布式搭建,实际上应该是每一台服务器都应该部署一个zookeeper,这样才是真正搭建分布式的意义,一台服务器down掉,其他服务器可以顶替上来。

      wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz   #linux上下载zookeeper
    

    步骤一:解压缩zookeeper的安装包

      tar -zxvf apache-zookeeper-3.5.5-bin.tar.gz

      

    步骤二:我们在/usr/local/目录下新建一个zookeeper-cluster文件夹,把解压后的zookeeper复制三份到zookeeper-cluster下,分别命名为:zookeeper1、zookeeper2、zookeeper3

    mkdir /usr/local/zookeeper-cluster
    
    mv apache-zookeeper-3.5.5-bin.tar.gz /usr/local/solrcloud/zookeeper1 cd /usr/local/zookeeper-cluster/ cp -r zookeeper1/ zookeeper2 cp -r zookeeper1/ zookeeper3

      

    步骤三:在每一个zookeeper文件下分别创建一个data文件夹,创建一个myid的文件,并为每一个myid文件写入zookeeper对应的编号。分别是1、2、3,与步骤五的server.1、server.2、server.3 对应

    mkdir zookeeper1/data
    
    mkdir zookeeper2/data
    
    mkdir zookeeper3/data
    
    vim zookeeper1/data/myid  #写入内容为 1
    
    vim zookeeper2/data/myid #写入内容为 2
    
    vim zookeeper3/data/myid #写入内容为 3

    在每个zookeeper的 data 目录下创建一个 myid 文件,内容分别是1、2、3 。这个文件就是记录每个服务器的ID

     

    步骤四:把每一个zookeeper下中的conf目录下的zoo_sample.cfg,复制一份并改名为zoo.cfg

    cp zookeeper1/conf/zoo_sample.cfg zookeeper1/conf/zoo.cfg
    
    cp zookeeper2/conf/zoo_sample.cfg zookeeper2/conf/zoo.cfg
    
    cp zookeeper3/conf/zoo_sample.cfg zookeeper3/conf/zoo.cfg
    

      

    步骤五:修改每一个zookeeper下的conf目录中的zoo.cfg文件,是每个zookeeper下都需要修改噢。

                 dataDir:配置是刚刚我们所创建的data目录的全路径。

                 clientPort:配置客户端连接的端口号,zookeeper1=2182、zookeeper=2182、zookeeper3=2183,避免重复

                server.1:配置集群中节点的信息,包括ip地址,投票、选举的端口(投票是指:当某一台zookeeper服务器down之后,需要其他zookeeper进行投票来判断是否需要选举新的zookeeper主机,来代替之前down的zookeeper服务)

             

        

     解释:server.服务器ID=服务器IP地址:服务器之间通信端口:服务器之间投票选举端口

    步骤六:分别启动zookeeper1、2、3,然后分别查看对应的状态。

                  如下图 Mode是为leader,表示当前zookeeper是工作者,其他为follower,表示从服务器,当leader服务down之后,其他从服务器则会进行投票,代替成为leader

    ./zookeeper1/bin/zkServer.sh start #启动zookeeper
    
    ./zookeeper3/bin/zkServer.sh status # 查看zookeeper状态
    
    ./zookeeper3/bin/zkServer.sh stop # 关闭zookeeper
    

        

         

    ./zkServer.sh start   #启动zookeeper

    ./zkServer.sh status  # 查看zookeeper状态
    ./zkServer.sh stop   # 关闭zookeeper
    ./zkCli.sh -server localhost:2181   #连接到Zookeeper服务.
  • 相关阅读:
    git subtree用法
    Excel导入、导出库:ExcelKit
    [C#.NET 拾遗补漏]08:强大的LINQ
    使用.net standard实现不同内网端口的互通(类似花生壳)
    LINQ:最终统治了所有的语言!
    浅谈代码段加密原理(防止静态分析)
    HashTable、HashSet和Dictionary的区别(转)
    Mysql分表和分区的区别、分库分表介绍与区别
    划词高亮功能的实现附带开源代码
    十个推荐使用的 Laravel 的辅助函数
  • 原文地址:https://www.cnblogs.com/mh-study/p/11160915.html
Copyright © 2011-2022 走看看