当前位置: 首页 > news >正文

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、修改配置文件中的如下属性

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

        举个实例:

server.properties中:

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

server2.propetties中

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

server3.properties中

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

二、启动kafka集群 

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

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

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

cd到zookeeper中查看

[root@localhost bin]# cd /usr/local/apache-zookeeper-3.8.2/bin[root@localhost bin]# ./zkCli.sh[zk: localhost:2181(CONNECTED) 0] ls /[admin, brokers, cluster, config, consumers, controller, controller_epoch, feature, isr_change_notification, latest_producer_id_block, log_dir_event_notification, zookeeper][zk: localhost:2181(CONNECTED) 2] ls /brokers[ids, seqid, topics][zk: localhost:2181(CONNECTED) 3] ls /brokers/ids[0,1,2] //说明启动了三个节点[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上,在日志文件中,会同时产生备份了分区的文件:

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

http://www.lryc.cn/news/190958.html

相关文章:

  • 代码随想录算法训练营Day52|动态规划11
  • Android渲染系列之原理概述篇
  • 类图 UML从入门到放弃系列之二
  • 诊断用抗原抗体——博迈伦
  • 156 - Ananagrams (UVA)
  • vue3入门
  • 上机实验二 设计单循环链表 西安石油大学数据结构
  • 小谈设计模式(28)—解释器模式
  • Access denied for user ‘root‘@‘xxx‘ (using password: YES)
  • 对象与成员函数指针 function+bind
  • 如何在 PyTorch 中冻结模型权重以进行迁移学习:分步教程
  • 代码随想录算法训练营第六十二、六十三天 | 单调栈 part 2 | 503.下一个更大元素II 、42. 接雨水、84.柱状图中最大的矩形
  • c#设计模式-行为型模式 之 迭代器模式
  • SSM整合RabbitMQ,Spring4.x整合RabbitMQ
  • 【2023研电赛】商业计划书赛道上海市一等奖:基于双矢量优化谐波预测控制的MMC-PET光伏储能系统
  • minio桶命名规则
  • 【教学类-35-04】学号+姓名+班级(中3班)学号字帖(A4竖版2份 竖版长条)
  • 什么叫AI自动直播?
  • LLaMA Adapter和LLaMA Adapter V2
  • 高压放大器在软体机器人领域的应用
  • 《Linux C/C++服务器开发实践》之第4章 TCP服务器编程
  • HCIA---静态路由扩展配置
  • OCP Java17 SE Developers 复习题04
  • spark中使用flatmap报错:TypeError: ‘int‘ object is not subscriptable
  • node.js知识系列(5)-每天了解一点
  • Linux服务器(银河麒麟、CentOS 7+、CentOS 7+ 等)修改IP地址
  • Mall脚手架总结(四) —— SpringBoot整合RabbitMQ实现超时订单处理
  • python实现图像的直方图均衡化
  • 哪种烧录单片机的方法合适?
  • 安规电容总结