• 基于ZooKeeper的Kafka分布式集群搭建与集群启动停止Shell脚本


    下载Kafka压缩包

    下方是Kafka官网下载地址,本文使用Kafka 3.0.0在虚拟机环境中搭建分布式集群
    Apache Kafka Downloads link
    虽然在Kafka 2.8.0之后可以使用KRaft模式搭建高可用的集群以提高数据处理效率,但是目前还有许多企业依然使用ZooKeeper搭建Kafka集群,所以本文也采用ZooKeeper组件来搭建Kafka分布式集群。
    Kafka-3.0.0

    基于ZooKeeper的Kafka高可用集群

    本文使用三台CentOS7虚拟机分别搭建三个broker节点的Kafka集群。以broker ID为0的节点为例,下方是该节点配置Kafka的具体步骤,另外两个broker节点的配置步骤与其一致。

    1. 解压kafka_2.12-3.0.0.tgz压缩包
    tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/
    
    • 1
    1. 重命名文件夹名称(可选),注意后面的配置文件也需要根据该名称进行修改。
    cd /opt/module
    mv kafka_2.12-3.0.0 kafka
    
    • 1
    • 2
    1. 修改/opt/module/kafka/config/server.properties配置文件中最基础的参数配置:第一个是broker节点ID,第二个是topic数据存储路径。
    vim server.properties
    
    broker.id=0
    log.dirs=/opt/module/kafka/datas
    
    • 1
    • 2
    • 3
    • 4
    1. 修改环境变量。
    sudo vim /etc/profile.d/my_env.sh
    
    #KAFKA_HOME
    export KAFKA_HOME=/opt/module/kafka
    export PATH=$PATH:$KAFKA_HOME/bin
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 使用source命令刷新环境变量。
    source /etc/profile
    
    • 1

    启动Kafka集群

    1. 启动ZooKeeper。在先前的博客中已介绍过ZooKeeper组件集群的搭建配置方式,并自定义了ZooKeepr集群启动脚本。所以本文直接使用该集群启动脚本zk.sh启动ZooKeeper。其中hadoop102 103 104为三个broker节点的域名。
    [hadoop@hadoop102 bin]$ cat zk
    #!/bin/bash
    
    case $1 in
    "start"){
            for host in hadoop102 hadoop103 hadoop104
            do
                    echo ------------ zookeeper $host 启动 ---------------
                    ssh $host "/opt/module/zookeeper-3.5.9/bin/zkServer.sh start"
            done
    }
    ;;
    "stop"){
            for host in hadoop102 hadoop103 hadoop104
            do
                   echo ------------ zookeeper $host 停止 --------------- 
                   ssh $host "/opt/module/zookeeper-3.5.9/bin/zkServer.sh stop"
            done
    }
    ;;
    "status"){
            for host in hadoop102 hadoop103 hadoop104
            do
                   echo ------------ zookeeper $host 状态 --------------- 
                   ssh $host "/opt/module/zookeeper-3.5.9/bin/zkServer.sh status"
            done
    
    }
    ;;
    *) echo Not exist the instruction
    ;;
    esac
    [hadoop@hadoop102 bin]$ ./zk start
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    1. 启动Kafka集群。本文也针对Kafka集群定义了集群启动与停止Shell脚本,所以直接使用该脚本kf.sh启动Kafka集群即可。注意:必须先启动ZooKeeper再启动Kafka集群;在停止集群运行的时候,需要先停止Kafka集群,再停止ZooKeeper服务。
    [hadoop@hadoop102 bin]$ cat kf
    #!/bin/bash
    
    case $1 in
    "start")
    	for i in hadoop102 hadoop103 hadoop104
    	do
    		echo "-- start $i kafka --"
    		ssh $i "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"
    	done
    ;;
    "stop")
            for i in hadoop102 hadoop103 hadoop104
            do
                    echo "-- stop $i kafka --"
                    ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh"
            done
    ;;
    esac
    [hadoop@hadoop102 bin]$ ./kf start
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    Kafka集群

  • 相关阅读:
    【AI视野·今日Robot 机器人论文速览 第五十五期】Mon, 16 Oct 2023
    python使用numpy的loadtext函数读取指定文本文件内容、读取后的数据格式为ndarray
    服务注册与配置一站式管理神器Nacos(四)-- 配置中心的使用
    计算机毕业设计之java+javaweb的物业管理系统
    原生js小方法的封装
    Windows进程简介
    猫不长肉怎么办?增肥效果好、让猫咪迅速圆润起来的猫罐头分享!
    矩阵的相似性度量的常用方法
    springboot 线程池参数解释
    前端毕业设计:Nodejs+Vue菜鸟驿站仓库管理系统的设计与实现
  • 原文地址:https://blog.csdn.net/Adam_captain/article/details/137351473