# spingboot-kafka-kerberos **Repository Path**: jyygit123/spingboot-kafka-kerberos ## Basic Information - **Project Name**: spingboot-kafka-kerberos - **Description**: springboot 集成kafka,并开通kerberos认证; 测试 kafka 发送消息、创建topic、删除topic、 接收消息、批量消费等功能; 练习所用,做个工具留存。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-09-01 - **Last Updated**: 2025-03-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: Kafka, kerberos ## README # spingboot-kafka-kerberos #### 介绍 springboot 集成kafka,并开通kerberos认证; 测试 kafka 发送消息、创建topic、删除topic、 接收消息等功能 #### kafka需要先开启kerberos认证; 在springboot集成时,需要认证文件 kafka-client-jaas.conf、 krb5.conf、 zk-client.keytab。 1. kafka-client-jaas.conf文件中的 keyTab 配置为本地的 keytab 文件的路径; 2. krb5.conf 文件中需要配置 kdc服务地址。 ``` ABC.COM = { kdc = XX.XX.XX.XX admin_server = XX.XX.XX.XX } ``` 3. 开启kerberos认证需要在application.properties文件中配置以下属性,属性值根据实际情况确定 ``` spring.kafka.jaas.enabled=true spring.kafka.properties.sasl.mechanism = GSSAPI spring.kafka.properties.sasl.kerberos.service.name=kafka-server spring.kafka.properties.security.protocol = SASL_PLAINTEXT ``` 4. kafka 开启kerberos认证后的启动配置文件是 com/fline/kafka/config/KafkaConfig.java #### 5. 消费者批量消费模式 5.1 监听时配置 消费工厂 ``` containerFactory = "testConcurrentKafkaListenerContainerFactory" ``` 5.2 application.peoperties 中要配置批量模式 ``` spring.kafka.listener.type=batch; ``` batch 表示要批量消费, single 表示单条消费。一般只有在批量消费时,需要配置batch模式。 注:批量消费时,消费的线程数 小于等于分区数;