首页 > 系统相关 >Linux 下 zookeeper 集群部署

Linux 下 zookeeper 集群部署

时间:2024-07-02 09:58:57浏览次数:16  
标签:opt 14 -- cfg zookeeper 3.4 集群 Linux

目录

1. zookeeper下载

2.环境准备

3.zookeeper部署

3.1 修改系统配置文件

3.2 开放端口

3.3 安装zookeeper

3.4 验证

4. 设置服务开机自启动


本文将以三台服务器为例,介绍在 linux 系统下zookeeper的部署方式。

1. zookeeper下载

    下载地址:Index of /dist/zookeeper (apache.org)

    选择需要的介质下载,这里以 zookeeper-3.4.14 为例

2.环境准备

   部署zookeeper需要先部署JDK ,JDK部署可以参考Linux下JDK 安装-CSDN博客 

3.zookeeper部署

注:以下操作三台机器均需要修改

3.1 修改系统配置文件

(1)编辑 hosts 文件

         vi /etc/hosts

(2)添加如下内容

         ip(第一台机器)   zk1

         ip(第二台机器)   zk2

         ip(第三台机器)   zk3

3.2 开放端口

zookeeper 默认需要开通节点 2181 、2888 和 3888 端口

  • 2181:客户端连接 Zookeeper 集群使用的监听端口号
  • 3888:选举 leader 使用
  • 2888:集群内机器通讯使用(Leader 和 Follower 之间数据同步使用的端口号,Leader 监听此端口)

(1)查看防火墙状态

        systemctl status firewalld

(2)开放端口

       firewall-cmd --zone=public --add-port=2181/tcp --permanent  

       firewall-cmd --zone=public --add-port=2888/tcp --permanent

       firewall-cmd --zone=public --add-port=3888/tcp --permanent 

(3)防火墙重新加载配置

       firewall-cmd --reload  

(4) 查看防火墙所有开放的端口

       firewall-cmd --zone=public --list-ports

3.3 安装zookeeper

(1) 解压

       上传zookeeper介质(zookeeper-3.4.14.tar.gz)到 /opt 目录

       解压到当前目录下

       tar zxfv zookeeper-3.4.14.tar.gz

(2) 修改配置文件

     创建配置文件

       touch /opt/zookeeper-3.4.14/conf/zoo.cfg

       注:zookeeper-3.4.14可以执行下面的操作

       mv zoo_sample.cfg zoo.cfg

      编辑配置文件

       vi /opt/zookeeper-3.4.14/conf/zoo.cfg

      配置更换成以下内容即可:

        # The number of milliseconds of each tick
        tickTime=2000
        # The number of ticks that the initial 
        # synchronization phase can take
        initLimit=10
        # The number of ticks that can pass between 
        # sending a request and getting an acknowledgement
        syncLimit=5
        # the directory where the snapshot is stored.
        # do not use /tmp for storage, /tmp here is just 
        # example sakes.
        #数据目录
        dataDir=/data/zookeeper
        dataLogDir=/data/zookeeper/logs
        # the port at which the clients will connect
        #工作端口号
        clientPort=2181
        # the maximum number of client connections.
        # increase this if you need to handle more clients
        #maxClientCnxns=60
        #
        # Be sure to read the maintenance section of the 
        # administrator guide before turning on autopurge.
        #
        # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
        #
        # The number of snapshots to retain in dataDir
        #autopurge.snapRetainCount=3
        # Purge task interval in hours
        # Set to "0" to disable auto purge feature
        #autopurge.purgeInterval=1
        #设置集群地址及选主协商端口、集群通信端口
        server.1=zk1:2888:3888
        server.2=zk2:2888:3888
        server.3=zk3:2888:3888

(3) 配置 jvm.option

         touch /opt/zookeeper-3.4.14/conf/java.env

         vi /opt/zookeeper-3.4.14/conf/java.env

         添加如下内容,配置zk占用物理内存

         export JVMFLAGS="-Xms8g -Xmx8g $JVMFLAGS"

(4)创建目录

        创建数据目录

        mkdir -p /data/zookeeper

        创建日志目录

        mkdir -p /data/zookeeper/logs

(5)配置zookeeper myid

       创建myid

       注: '1'为节点ID,各节点唯一,且与zoo.cfg中配置"server.1=zoo1:2888:3888"对应

       第一台机器执行

       echo '1' > /data/zookeeper/myid

       第二台机器执行

       echo '2' > /data/zookeeper/myid

       第三台机器执行

       echo '3' > /data/zookeeper/myid

(5)启动

      /opt/zookeeper-3.4.14/bin/zkServer.sh start

3.4 验证

(1)查询集群状态

      /opt/zookeeper-3.4.14/bin/zkServer.sh status

      显示以下内容 ,说明应用正常启动

(2)查询集群同步

      /opt/zookeeper-3.4.14/bin/zkCli.sh -server zoo1:2181

      [zk: zoo1:2181(CONNECTED) 0] create /hello world

      /opt/zookeeper-3.4.14/bin/zkCli.sh -server zoo2:2181

      [zk: zoo2:2181(CONNECTED) 0]get /hello

      输出以下内容,说明集群同步

4. 设置服务开机自启动

注:以下操作三台机器均需要修改

(1)关闭zk

      /opt/zookeeper-3.4.14/bin/zkServer.sh stop

(2)创建启动服务文件

      touch /etc/systemd/system/zookeeper.service

      vi /etc/systemd/system/zookeeper.service

(3)编写启动脚本

[Unit]
Description=zookeeper-3.4.14
Requires=network.target
After=network.target
 
[Service]
User=root
Group=root
Type=forking
WorkingDirectory=/opt/zookeeper-3.4.14
ExecStart=/opt/zookeeper-3.4.14/bin/zkServer.sh start /opt/zookeeper-3.4.14/conf/zoo.cfg
ExecStop=/opt/zookeeper-3.4.14/bin/zkServer.sh stop /opt/zookeeper-3.4.14/conf/zoo.cfg
ExecReload=/opt/zookeeper-3.4.14/bin/zkServer.sh restart /opt/zookeeper-3.4.14/conf/zoo.cfg

[Install]
WantedBy=multi-user.target

(4)关闭和启动服务

       启动

       systemctl start zookeeper.service

       停止

       systemctl stop zookeeper.service

       重启

       systemctl restart zookeeper.service

(5)设置服务是否开机启动

      添加系统服务

      systemctl enable zookeeper.service

      删除系统服务

      systemctl disable zookeeper.service

(6)重启机器

       reboot

       查看zookeeper是否开机自启动。

标签:opt,14,--,cfg,zookeeper,3.4,集群,Linux
From: https://blog.csdn.net/qq_59998784/article/details/139930679

相关文章

  • Shell Lab: Writing Your Own Linux Shell
    18-213/18-613,Summer2024ShellLab:WritingYourOwnLinuxShellAssigned:Mon,July8,2024Due:Thurs,Mon,July22,2024at11:59PMLastPossibleHandin:Thu,July25th,2024at11:59PM1IntroductionThepurposeofthisassignmentistohelpyoubecom......
  • Linux的磁盘分区、挂载,解释挂载的经典案例——如何增加一块硬盘
    (1)分区、挂载释义:①无论有几个分区(硬盘),分给哪一目录使用(Linux文件系统),它归根结底就只有一个根目录。一个独立且唯一的文件结构。每个分区都是用来组成整个文件系统的一部分。②“挂载”(Mount)是指将设备(如硬盘、光盘、USB驱动器等)中的一个分区与一个已存在的目录(挂载点)关联起......
  • 嵌入式GDB调试Linux C程序或交叉编译(开发板)
    目录简介开始使用电脑端准备安装gdb1.编译带调试信息的可执行文件2.进入gdb3.启动程序常用命令设置断点:进入函数打印数值结束常用命令l回车键bCSnpq参考文档1、安装gdb。2、gdb的简单使用。(1)在可执行文件中加入源码信息(2)进入gdb(3)gdb调试常用命令[1]start[2]单步执行(n......
  • Linux 文件系统扩展
    今天发现/usr目录空间不够。需要扩展。之前没有处理过。今天试了一下调整。并且记录下来整个过程。1使用fdisk-l查看磁盘信息2、使用fdisk/dev/sda对磁盘进行分区操作完后,多了一个/dev/sda34使用pvcreate/dev/sda3创建物理卷5、使用vgextendol/dev/sda3扩展磁......
  • Linux内存不够了?看看如何开启虚拟内存增加内存使用量
    1、为什么要使用虚拟内存当我们没有多余的钱去购买大内存的云服务器时,但是当前服务器里面的软件和程序运行的比较多导致内存不够用了。这个时候可以通过增加虚拟内存来扩大内存容量。但是在启用虚拟内存时,需要仔细考虑系统的实际需求和硬件配置,以及权衡虚拟内存的优缺点,考虑好利......
  • 玄机-第一章 应急响应-Linux日志分析
    玄机-第一章应急响应-Linux日志分析账号root密码linuxrzsshroot@IP1.有多少IP在爆破主机ssh的root帐号,如果有多个使用","分割2.ssh爆破成功登陆的IP是多少,如果有多个使用","分割3.爆破用户名字典是什么?如果有多个使用","分割4.登陆成功的IP共爆破了多少次5.黑客登陆主机......
  • 【嵌入式Linux】<总览> 多线程(更新中)
    文章目录前言一、多线程1.概述2.创建线程3.线程退出4.线程回收5.线程分离6.线程取消7.线程的ID比较二、线程同步1.概述2.互斥锁3.死锁4.读写锁5.条件变量6.信号量三、线程池前言记录学习多线程的知识重点与难点,若涉及版权问题请联系本人删除!......
  • linux高级编程(线程)(1)
    虚拟地址:线程:        概念:线程是轻量级进程,一般是一个进程中的多个任务。        进程是系统中最小的资源分配单位。(竞争计算机资源的最小单位)(进程能分配硬件资源,线程不行)线程是系统中最小的执行单位。   特征:   1、共享资源(除了栈区都共享)-->......
  • Memcached集群部署:构建高可用性缓存服务
    目录简介环境准备安装Memcached在Linux上安装在Windows上安装配置Memcached部署Memcached集群节点配置客户端配置负载均衡与故障转移监控与管理总结简介Memcached是一种高性能的分布式内存对象缓存系统,旨在通过减少数据库负载提高动态Web应用的响应速度。为了实现高......
  • Linux基本技巧
    linux查看cpu占用率的方法查看单核CPU占用率,终端上输入“top”。查看多核CPU占用率,终端上输入“top”,进入界面再输入“1”。Linuxtop命令里面%CPU和cpu(s)的差别Cpu(s):所有用户进程占用整个cpu的平均值,由于每个核心占用的百分比不同,所以按平均值来算比较有参考意义。%CPU......