• 【Linux】Linux系统中安装Zookeeper集群的详细配置


    搭建Zookeeper集群实战

    前言:zookeeper在企业中往往都是以集群的方式出现,可以服务的可用性。刚好最近公司安装环境,顺便整理了一下安装过程,方便大家学习,企业真实案例。


    目录

    搭建Zookeeper集群实战

    集群规划

    1.1 分布式安装部署

    1.2 客户端命令行操作

    1.3 ZK集群启动停止脚本


    下载地址

    官网:Apache Download Mirrors

    百度网盘:

            链接:https://pan.baidu.com/s/1RaVe5qYyvz6RVsgXtePRsg
            提取码:dju9

    集群规划

    服务器hadoop102

    服务器hadoop103

    服务器hadoop104

    Zookeeper

    Zookeeper

    Zookeeper

    Zookeeper

    1.1 分布式安装部署

    1)集群规划

    在hadoop2、hadoop3、hadoop4、hadoop5四个节点上部署Zookeeper。

    2)解压安装

    (1)解压Zookeeper安装包到/home/chengci/module/目录下

    [chengci@hadoop2 software]$ tar -zxvf zookeeper-3.5.7.tar.gz -C /home/chengci/module/

    (2)修改/opt/module/apache-zookeeper-3.5.7-bin名称为zookeeper-3.5.7

    [chengci@hadoop2 module]$ mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7

    (3)同步/home/chengci/module/zookeeper-3.5.7目录内容到hadoop3、hadoop4、hadoop5

    [chengci@hadoop2 module]$ xsync zookeeper-3.5.7/

    3)配置服务器编号

    (1)在/home/chengci/module/zookeeper-3.5.7/这个目录下创建zkData

    [chengci@hadoop2 zookeeper-3.5.7]$ mkdir zkData

    (2)在/home/chengci/module/zookeeper-3.5.7/zkData目录下创建一个myid的文件

    [chengci@hadoop2 zkData]$ vi myid

    添加myid文件,注意一定要在linux里面创建,在notepad++里面很可能乱码

    在文件中添加与server对应的编号:

    2

    (3)拷贝配置好的zookeeper到其他机器上

    [chengci@hadoop2 zkData]$ xsync myid

    并分别在hadoop3、hadoop4、hadoop5上修改myid文件中内容为345

    4)配置zoo.cfg文件

    (1)重命名/home/chengci/module/zookeeper-3.5.7/conf这个目录下的zoo_sample.cfg为zoo.cfg

    [chengci@hadoop102 conf]$ mv zoo_sample.cfg zoo.cfg

    (2)打开zoo.cfg文件

    [chengci@hadoop2 conf]$ vim zoo.cfg

    修改数据存储路径配置

    dataDir=/home/chengci/module/zookeeper-3.5.7/zkData

    增加如下配置

    #######################cluster##########################

    server.2=hadoop2:2888:3888

    server.3=hadoop3:2888:3888

    server.4=hadoop4:2888:3888

    server.5=hadoop5:2888:3888

    (3)同步zoo.cfg配置文件

    [chengci@hadoop2 conf]$ xsync zoo.cfg

    (4)配置参数解读

    server.A=B:C:D。

    A是一个数字,表示这个是第几号服务器;

    集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server

    B是这个服务器的地址;

    C是这个服务器Follower与集群中的Leader服务器交换信息的端口;

    D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

    5)集群操作

    (1)分别启动Zookeeper

    [chengci@hadoop2 zookeeper-3.5.7]$ bin/zkServer.sh start

    [chengci@hadoop3 zookeeper-3.5.7]$ bin/zkServer.sh start

    [chengci@hadoop4 zookeeper-3.5.7]$ bin/zkServer.sh start

    [chengci@hadoop5 zookeeper-3.5.7]$ bin/zkServer.sh start

    (2)查看状态

    [chengci@hadoop2 zookeeper-3.5.7]# bin/zkServer.sh status

    JMX enabled by default

    Using config: /home/chengci/module/zookeeper-3.5.7/bin/../conf/zoo.cfg

    Mode: follower

    [chengci@hadoop103 zookeeper-3.5.7]# bin/zkServer.sh status

    JMX enabled by default

    Using config: /home/chengci/module/zookeeper-3.5.7/bin/../conf/zoo.cfg

    Mode: leader

    [chengci@hadoop4 zookeeper-3.4.5]# bin/zkServer.sh status

    JMX enabled by default

    Using config: /home/chengci/module/zookeeper-3.5.7/bin/../conf/zoo.cfg

    Mode: follower

    [chengci@hadoop5 zookeeper-3.4.5]# bin/zkServer.sh status

    JMX enabled by default

    Using config: /home/chengci/module/zookeeper-3.5.7/bin/../conf/zoo.cfg

    Mode: follower

    1.2 客户端命令行操作

    命令基本语法

    功能描述

    help

    显示所有操作命令

    ls path

    使用 ls 命令来查看当前znode的子节点

    -w  监听子节点变化

    -s   附加次级信息

    create

    普通创建

    -s  含有序列

    -e  临时(重启或者超时消失)

    get path

    获得节点的值

    -w  监听节点内容变化

    -s   附加次级信息

    set

    设置节点的具体值

    stat

    查看节点状态

    delete

    删除节点

    deleteall

    递归删除节点

    1)启动客户端

    [chengci@hadoop3 zookeeper-3.5.7]$ bin/zkCli.sh

    1.3 ZK集群启动停止脚本

    (1)在hadoop2的/home/chengci/bin目录下创建脚本

    [chengci@hadoop2 bin]$ vim zk.sh

           在脚本中编写如下内容

    #!/bin/bash

    case $1 in

    "start"){

        for i in hadoop2 hadoop3 hadoop4 hadoop5

        do

            echo ---------- zookeeper $i 启动 ------------

           ssh  $i "/home/chengci/module/zookeeper-3.5.7/bin/zkServer.sh start"

        done

    };;

    "stop"){

        for i in hadoop2 hadoop3 hadoop4 hadoop5

        do

            echo ---------- zookeeper $i 停止 ------------   

           ssh  $i "/home/chengci/module/zookeeper-3.5.7/bin/zkServer.sh stop"

        done

    };;

    "status"){

        for i in hadoop2 hadoop3 hadoop4 hadoop5

        do

            echo ---------- zookeeper $i 状态 ------------   

           ssh  $i "/home/chengci/module/zookeeper-3.5.7/bin/zkServer.sh status"

        done

    };;

    esac

    (2)增加脚本执行权限

    [chengci@hadoop2 bin]$ chmod u+x zk.sh

    (3)Zookeeper集群启动脚本

    [chengci@hadoop2 module]$ zk.sh start

    (4)Zookeeper集群停止脚本

    [chengci@hadoop2 module]$ zk.sh stop


    完结撒花!!!

            朋友们我们本篇的内容到这就结束了,本篇的内容还是非常简单的,如果有啥不会的朋友咱们可以一起谈论哈~

            如果朋友你感觉文章的内容对你有帮助,可以点赞关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,感谢朋友们的支持!

  • 相关阅读:
    每日一题:无感刷新页面(附可运行的前后端源码,前端vue,后端node)
    第86步 时间序列建模实战:Transformer回归建模
    亚马逊鲲鹏系统:批量注册亚马逊买家号软件
    学习用docker构建自己的镜像
    Leetcode 198. House Robber
    年度顶级赛事来袭:2023 CCF大数据与计算智能大赛首批赛题上线!
    数据仓库与数据库的区别
    光环云出席Enjoy出海AIGC主题研讨会,助力企业迎接AI时代机遇与挑战
    哈希思想的应用 - 位图,布隆过滤器
    如何通过拍照识别植物?试试这几个软件
  • 原文地址:https://blog.csdn.net/weixin_51414096/article/details/126275058