Kafka 概述

Apache Kafka 是一个分布式事件流平台。基于Kafka,可以构建高吞吐量、高扩展性的消息中间件服务。适用于日志采集、流式数据处理、流量削峰填谷等场景。kafka具备高可靠、高并发访问、可扩展的特性是大数据生态系统中不可或缺的组成部分。

KDP Kafka 组件增强说明:

  • 扩展了kubernetes云原生架构下kafka对ranger、kerberos集成支持;
  • 实现了在ranger、kerberos权限体系下kafka扩容能力;
  • 完成了kafka组件间依赖关系配置管理

架构

Kafka集群包括Producer、Kafka Broker、Group、ZooKeeper。

Producer

通过push模式向Kafka Broker发送消息。发送的消息可以是网站的页面访问、服务器日志,也可以是CPU和内存相关的系统资源信息。

Kafka Broker

用于存储消息的服务器。Kafka Broker支持水平扩展。Kafka Broker节点的数量越多,Kafka 版集群的吞吐率越高。

Group

通过pull模式从Kafka Broker订阅并消费消息。

Zookeeper

管理集群的配置、选举leader分区,并且在Group发生变化时,进行负载均衡。

应用说明

Kafka 包含了4个应用:

  • kafka cluster: Kafka是一个分布式、高吞吐、可扩展的事件流平台应用。需要先安装kafka operator;
  • kafka connect: Kafka Connect旨在简化数据集成和数据流处理,用于将外部系统和数据源与Kafka集成。需要先安装kafka operator和kafka cluster;
  • schema registry: Schema Registry是一个用于管理与存储 Avro、JSON和Protobuf类型schema服务。需要先安装kafka operator和kafka cluster;
  • kafka manager: Kafka Manager是一个用于管理和监控Kafka、Kafka Connect、Schema Registry的web应用。需要先安装kafka cluster。

组件依赖

安装 Kafka 应用目录前,需要安装应用目录 Operator 下 kafka-3-operator 应用。它是 Apache Flink 应用程序基于K8s的自动化部署、管理和扩缩容工具。

Kafka 应用目录中应用依赖关系如下图,虚线为非必须依赖。

应用安装

可按默认配置进行应用安装。

Kafka Cluster 应用配置

  • replicas: kafka实例数
  • resources: 资源规格
  • storage: 持久卷配置
  • listeners: kafka监听器配置
  • metrics: kafka监控配置
  • config: kafka配置
  • zookeeper: kafka依赖的zookeeper配置(Kafka 独享)
    • replicas: zookeeper实例数
    • resources: zk资源规格
    • storage: zk持久卷配置
  • image: kafka镜像版本

安装成功后,应用实例详情可查看资源拓扑、Pod实例信息,进行更新、卸载等运维管理操作,「更多操作」下支持跳转 Kafka Cluster 监控面板。

查看 Kafka 看板监控指标信息。

Schema Registry 应用配置

  • kafkaCluster: schema registry依赖kafka地址
  • replicas: schema registry实例数
  • resources: 资源规格
  • image: schema registry镜像版本

安装成功后,应用实例详情可查看资源拓扑、Pod实例信息,进行更新、卸载等运维管理操作,「更多操作」下支持跳转 Kafka Schema Registry 监控面板。

查看监控指标信息。

Kafka Connect 应用配置

  • 组件依赖
    • kafkaCluster: connect依赖kafka地址
    • schemaRegistry: connect依赖schemaRegistry地址。可选参数
  • replicas: connect实例数
  • resources: 资源规格
  • image: connect镜像版本

安装成功后,应用实例详情可查看资源拓扑、Pod实例信息,进行更新、卸载等运维管理操作,「更多操作」下支持跳转 Kafka Connect 监控面板。查看监控指标信息。

Kafka Manager 应用配置

  • 组件依赖
    • mysql: kafka manager依赖mysql配置
    • kafkaCluster: kafka manager管理的kafka
    • connect: kafka manager管理的connect。可选参数
    • schemaRegistry: kafka manager管理的schema registry。可选参数
  • replicas: kafka manager实例数
  • resources: 资源规格
  • image: kafka manager镜像版本

安装成功后,应用实例详情可查看资源拓扑、Pod实例信息,进行更新、卸载等运维管理操作。查看应用访问地址,支持跳转 Kafka Manager WebUI界面。