• Linux:【Kafka四】集群介绍与单机搭建


    目录

    环境简介

    一、搭建kafka集群

    1.1、复制出两个kafka的配置文件

    1.2、修改配置文件中的如下属性

    二、启动kafka集群 

    三、可校验kafka三个节点是否均启动成功

    四、查看集群中主题的分区和副本

    4.1、新建一个包含了分区和副本的主题

    4.2、查看该主题的详细信息

    五、分区、副本的二次解释


    环境简介

       Linux内核:Centos7

       Kafka版本:3.5.1

       Kafka的安装目录:/usr/local/kafka_2.12-3.5.1

       Kafka的bin文件夹的目录:/usr/local/kafka_2.12-3.5.1/bin

       Kafka的配置文件夹的目录: /usr/local/kafka_2.12-3.5.1/conf

    一、搭建kafka集群

    因为资源有限,本人在学习时,是在同一台机器上搭建的kafka集群,操作如下:

    1.1、复制出两个kafka的配置文件

    server2.properties,server2.properties,如下图:

    1.2、修改配置文件中的如下属性

    1. broker.id=0、1、2    -- 标识每个启动的kafka实例的编号
    2. listeners=PLAINTEXT://${broker所在地址IP}:${当前kafka欲使用的端口号},如listeners=PLAINTEXT://192.168.154.128:9092或者9093或者9094
    3. log.dir= **

            举个实例:

    server.properties中:

    1. broker.id=0
    2. listeners=PLAINTEXT://192.168.154.128:9092 -- 192.168.154.128是kafka所在服务器的IP
    3. log.dirs=/usr/local/kafka_2.12-3.5.1/log

    server2.propetties中

    1. broker.id=1
    2. listeners=PLAINTEXT://192.168.154.128:9093 -- 192.168.154.128是kafka所在服务器的IP
    3. log.dirs=/usr/local/kafka_2.12-3.5.1/log2

    server3.properties中

    1. broker.id=2
    2. listeners=PLAINTEXT://192.168.154.128:9094 -- 192.168.154.128是kafka所在服务器的IP
    3. log.dirs=/usr/local/kafka_2.12-3.5.1/log3

    二、启动kafka集群 

    挨个启动即可(切换到kafka的根路径下执行):

    1. [root@localhost kafka_2.12-3.5.1]# cd /usr/local/kafka_2.12-3.5.1/
    2. [root@localhost kafka_2.12-3.5.1]#  ./kafka-server-start.sh -daemon ./server.properties
    3. [root@localhost kafka_2.12-3.5.1]#  ./kafka-server-start.sh -daemon ./server2.properties
    4. [root@localhost kafka_2.12-3.5.1]#  ./kafka-server-start.sh -daemon ./server3.properties

    三、可校验kafka三个节点是否均启动成功

    cd到zookeeper中查看

    1. [root@localhost bin]# cd /usr/local/apache-zookeeper-3.8.2/bin
    2. [root@localhost bin]# ./zkCli.sh
    3. [zk: localhost:2181(CONNECTED) 0] ls /
    4. [admin, brokers, cluster, config, consumers, controller, controller_epoch, feature, isr_change_notification, latest_producer_id_block, log_dir_event_notification, zookeeper]
    5. [zk: localhost:2181(CONNECTED) 2] ls /brokers
    6. [ids, seqid, topics]
    7. [zk: localhost:2181(CONNECTED) 3] ls /brokers/ids
    8. [0,1,2] //说明启动了三个节点
    9. [zk: localhost:2181(CONNECTED) 4]

    四、查看集群中主题的分区和副本

    4.1、新建一个包含了分区和副本的主题

    [root@localhost kafka_2.12-3.5.1]# ./bin/kafka-topics.sh --bootstrap-server localhost:9092 --create  --replication-factor 3 --partitions 2 --topic topic0921
    

    4.2、查看该主题的详细信息

    [root@localhost kafka_2.12-3.5.1]# ./bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic topic0921

    会展示如下结果:

    说明:

            Topic:    主题名称
            Partition:分区编号
            Leader:    分区的Leader的broker编号。副本里面的Leard来接收消息,其他follower通过poll的形式同步消息
            Replicas:  当前分区的副本所在哪些broker实例上(对应kafka实例配置文件中的kroker.id)
            Isr:         可以同步的broker节点 和 已同步的broker节点。换句话说,存放的是:当前分区的副本中:Leader节点、以及可正常同步数据,且已经同步了数据的follower节点

    五、分区、副本的二次解释

    基础概念的讲解,请参考:Linux:【Kafka三】组件介绍

    下面画图解释:

    分区:相当于是对消息的物理分割,一个消息,只能存在于一个分区中。多个分区可理解为消息的多线程任务。

    副本:每个分区都可以在集团的broker中创建副本,用以对分区中消息的备份。作为副本的broker上,在日志文件中,会同时产生备份了分区的文件:

    1. cd到broker1的日志文件中
    2. [root@localhost log2]# cd /usr/local/kafka_2.12-3.5.1/log2/
    3. [root@localhost log2]# ll
    4. -rw-r--r--. 1 root root 0 9月 19 18:21 cleaner-offset-checkpoint
    5. -rw-r--r--. 1 root root 4 10月 13 10:54 log-start-offset-checkpoint
    6. -rw-r--r--. 1 root root 88 9月 21 17:21 meta.properties
    7. -rw-r--r--. 1 root root 32 10月 13 10:54 recovery-point-offset-checkpoint
    8. -rw-r--r--. 1 root root 32 10月 13 10:54 replication-offset-checkpoint
    9. drwxr-xr-x. 2 root root 167 9月 21 17:27 topic0921-0 # 主题第一个分区的备份文件
    10. drwxr-xr-x. 2 root root 167 9月 21 17:27 topic0921-1 # 主题第二个分区的备份文件

  • 相关阅读:
    华为云云耀云服务器L实例评测|redis漏洞回顾 & MySQL数据安全解决 搭建主从集群MySQL & 相关设置
    开发板上网详细教程
    MySQL优化第二篇
    5个节约生命的Python小技巧
    CF思维训练
    flex布局
    前端面试题之HTTP专题
    C++17之std::invoke: 使用和原理探究(全)
    【八股总结】至今为止遇到的八股(下半)
    python28种极坐标绘图函数总结
  • 原文地址:https://blog.csdn.net/qq_36769100/article/details/133795843