news文章来源:

Kafka-Kraft 模式架构部署

Kafka网址:https://kafka.apache.org/

PS:因环境原因此文档内端口都有修改!

1.去官网下载二进制包

PS:3.4.0是目前最新的版本!需要jdk1.8及以上版本启动。

[root@k8s-node1 ~]# wget https://downloads.apache.org/kafka/3.4.0/kafka_2.12-3.4.0.tgz
[root@k8s-node1 ~]# tar zxvf kafka-3.4.0-src.tgz
[root@k8s-node1 ~]# cd kafka_2.12-3.4.0/
[root@k8s-node1 kafka_2.12-3.4.0]# ls
bin config libs LICENSE licenses NOTICE site-docs

2.修改配置文件

[root@k8s-node1 ~]# cd kafka_2.12-3.4.0/config/kraft/
[root@k8s-node1 kraft]# vim server.properties
......
process.roles=broker,controller
node.id=1
controller.quorum.voters=1@192.168.1.10:9094,2@192.168.1.11:9094,3@192.168.1.12:9094
listeners=PLAINTEXT://192.168.12.10:9093,CONTROLLER://192.168.12.10:9094
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.1.10:9093
log.dirs=logs
  • process.roles:kafka的角色 controller相当于主、broker节点相当于从,主类似zk功能;
  • node.id:节点ID标识每台机器;
  • controller.quorum.voters:controller角色的集群IP+访问端口;
  • listeners:代理将用于创建服务器套接字的内容;
  • inter.broker.listener.name:内部角色代理名称(主从可配置PLAINTEXT,从配置CONTROLLER);
  • advertised.listeners:角色代理向外暴露的IP+端口;
  • log.dirs:数据日志文件及Kafka启动生成的UUID存储位置;

集群内配置文件示例:

PS:配置文件内是三controller,五broker;

#node1
process.roles=broker,controller
node.id=1
controller.quorum.voters=1@192.168.1.10:9094,2@192.168.1.11:9094,3@192.168.1.12:9094
listeners=PLAINTEXT://192.168.12.10:9093,CONTROLLER://192.168.12.10:9094
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.1.10:9093
log.dirs=logs
#node2
process.roles=broker,controller
node.id=1
controller.quorum.voters=1@192.168.1.10:9094,2@192.168.1.11:9094,3@192.168.1.12:9094
listeners=PLAINTEXT://192.168.12.11:9093,CONTROLLER://192.168.12.11:9094
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.1.11:9093
log.dirs=logs
#node3
process.roles=broker,controller
node.id=1
controller.quorum.voters=1@192.168.1.10:9094,2@192.168.1.11:9094,3@192.168.1.12:9094
listeners=PLAINTEXT://192.168.12.12:9093,CONTROLLER://192.168.12.12:9094
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.1.12:9093
log.dirs=logs
#node4
process.roles=broker
node.id=1
controller.quorum.voters=1@192.168.1.10:9094,2@192.168.1.11:9094,3@192.168.1.12:9094
listeners=PLAINTEXT://192.168.12.13:9093
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.1.13:9093
log.dirs=logs
#node5
process.roles=broker
node.id=1
controller.quorum.voters=1@192.168.1.10:9094,2@192.168.1.11:9094,3@192.168.1.12:9094
listeners=PLAINTEXT://192.168.12.14:9093
inter.broker.listener.name=PLAINTEXT
advertised.listeners=PLAINTEXT://192.168.1.14:9093
log.dirs=logs

3.启动

3.1 在node01执行

# 生成集群uuid
[root@k8s-node1 kafka_2.12-3.4.0]# KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)"# 格式日志目录
[root@k8s-node1 kafka_2.12-3.4.0]# bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties

3.2 在集群内剩余机器执行

# 格式日志目录
[root@k8s-node2 kafka_2.12-3.4.0]# bin/kafka-storage.sh format -t (node01生成的UUID) -c config/kraft/server.properties
[root@k8s-node3 kafka_2.12-3.4.0]# bin/kafka-storage.sh format -t (node01生成的UUID) -c config/kraft/server.properties
[root@k8s-node4 kafka_2.12-3.4.0]# bin/kafka-storage.sh format -t (node01生成的UUID) -c config/kraft/server.properties
[root@k8s-node5 kafka_2.12-3.4.0]# bin/kafka-storage.sh format -t (node01生成的UUID) -c config/kraft/server.properties

3.3 启动Kafka

[root@k8s-node1 kafka_2.12-3.4.0]#  bin/kafka-server-start.sh config/kraft/server.properties
[root@k8s-node1 kafka_2.12-3.4.0]# ss -lnt| grep -E '9093|9094'
LISTEN 0 50 [::ffff:192.168.12.134]:9093 [::]:*
LISTEN 0 50 [::ffff:192.168.12.134]:9094 [::]:*

PS:9093是PLAINTEXT的端口,9094是broker的端口。

4.命令测试Kafka集群

[root@k8s-node1 kafka_2.12-3.4.0]# ./kafka-topics.sh --create --bootstrap-server 192.168.1.10:9093 --replication-factor 2 --partitions 5 --topic test

5.Kafka Map 测试访问

PS:Kafka Map是一款可视化平台软件,可参考链接自行搭建。 https://gitee.com/dushixiang/kafka-map/

[转帖]Kafka-Kraft 模式架构部署的更多相关文章

  1. Kafka KRaft模式探索

    1.概述 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据.其核心组件包含Producer.Broker.Consumer,以及依赖的Zookeeper集群. ...

  2. Kafka设计解析(一)Kafka背景及架构介绍

    转载自 技术世界,原文链接 Kafka设计解析(一)- Kafka背景及架构介绍 本文介绍了Kafka的创建背景,设计目标,使用消息系统的优势以及目前流行的消息系统对比.并介绍了Kafka的架构,Pr ...

  3. Kafka剖析:Kafka背景及架构介绍

    <Kafka剖析:Kafka背景及架构介绍> <Kafka设计解析:Kafka High Availability(上)> <Kafka设计解析:Kafka High A ...

  4. flume+kafka+storm+mysql架构设计

    前段时间学习了storm,最近刚开blog,就把这些资料放上来供大家参考. 这个框架用的组件基本都是最新稳定版本,flume-ng1.4+kafka0.8+storm0.9+mysql (项目是mav ...

  5. Canal高可用架构部署

    一.前言 canal 是阿里的一款开源项目,纯 Java 开发.基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了 MySQL(也支持 mariaDB). canal 模拟 mys ...

  6. Rafy 领域实体框架演示(3) - 快速使用 C/S 架构部署

    本系列演示如何使用 Rafy 领域实体框架快速转换一个传统的三层应用程序,并展示转换完成后,Rafy 带来的新功能. <福利到!Rafy(原OEA)领域实体框架 2.22.2067 发布!> ...

  7. Hadoop生态圈-Kafka的完全分布式部署

    Hadoop生态圈-Kafka的完全分布式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要内容就是搭建Kafka完全分布式,它是在kafka本地模式(https:/ ...

  8. MySQL高可用架构之Keepalived+主从架构部署

    针对目前公司的数据库架构要做统计规划和调整,所以针对不同的业务环境要选择合适的架构就比较重要,同时作为运维人员又要考虑到维护的便捷性(不能做过多架构维护),最终停留在mha+vip/主从+vip/my ...

  9. Hadoop1.X集群完全分布式模式环境部署

    Hadoop1.X集群完全分布式模式环境部署 1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台.以Hadoop分布式文件系统(HDFS,Hadoop Distri ...

  10. Database基础(七):部署集群基础环境、MySQL-MMM架构部署、MySQL-MMM架构使用

    一.部署集群基础环境 目标: 本案例要求为MySQL集群准备基础环境,完成以下任务操作: 数据库授权 部署MySQL双主多从结构 配置本机hosts解析记录 方案: 使用4台RHEL 6虚拟机,如下图 ...

随机推荐

  1. 斯坦福 UE4 C++ ActionRoguelike游戏实例教程 06.敲定AI——游戏框架拓展和细节优化

    斯坦福课程 UE4 C++ ActionRoguelike游戏实例教程 0.绪论 概述 这篇文章对应课程13课, 50~54节.虽然标题是敲定AI,实际内容和AI关联并不大,主要工作是对游戏内各种细节 ...

  2. cf1453F 二维DP 思维

    cf1453F 二维DP 思维 原题链接 题意 目前我们有一个序列,在第i个点可以走到[i + 1, i + a[i]]区间内的任意一点(也就是说如果a[i]是0,路就走不通了) 现在要求我们将一些位 ...

  3. 干货分享丨从MPG 线程模型,探讨Go语言的并发程序

    摘要:Go 语言的并发特性是其一大亮点,今天我们来带着大家一起看看如何使用 Go 更好地开发并发程序. 我们都知道计算机的核心为 CPU,它是计算机的运算和控制核心,承载了所有的计算任务.最近半个世纪 ...

  4. 华为云构建云原生DevSecOps平台,保障软件供应链全流程安全可信

    摘要:面临网络安全挑战的大环境下,华为云构筑的云原生DevSecOps平台,打造了创新可控的安全服务,助力企业软件供应链全生命周期安全. 2022年8月13日,"2022中国DevOps社区 ...

  5. Vue组件间的传值五大场景,你造吗?

    摘要:组件是 vue.js最强大的功能之一,这五个组件间传值场景你了解吗? 本文分享自华为云社区<你了解Vue组件间传值五大场景吗?>,作者:北极光之夜. . 父组件向子组件传值: 比如有 ...

  6. 敏捷开发专家一席谈:云原生技术下的华为云DevOps实践之路

    摘要:听华为云DevCloud首席技术布道师徐毅讲述云原生下的DevOps实践. 本文分享自华为云社区<敏捷开发专家一席谈:云原生技术下的华为云DevOps实践之路>,作者:华为云社区精选 ...

  7. Spring中部署Activiti流程定义的三种姿势

    摘要:本文对工作流Activiti框架中流程定义的部署进行了详细说明介绍. 本文分享自华为云社区<项目中工作流部署详细解析!Spring中部署Activiti流程定义的三种姿势>,作者:攻 ...

  8. SBOM落地的关键一步——漏洞可利用性交流(VEX)

    SolarWinds 网络安全事件的影响,加上 Log4j 漏洞对众多知名企业产生难以估量的后果,使软件供应链安全成为安全领域的热门话题,并且SBOM现在成为网络安全漏洞计划的一个重要组成部分. SB ...

  9. ElasticSearch 实现分词全文检索 - filter查询

    目录 ElasticSearch 实现分词全文检索 - 概述 ElasticSearch 实现分词全文检索 - ES.Kibana.IK安装 ElasticSearch 实现分词全文检索 - Rest ...

  10. Axure 标记元件

    快照:可以用来表示控件的截图功能 箭头:有了连线,基本很少用它 便签:相关于便利贴,写些说明.备注, 标记:标记好数字,对应数字的标记做解释说明