kafka-入门

安装(基本版本)

安装zookeeper

默认会占用8080端口,需要把默认端口修改掉

安装kafka

kafka的配置文件截图

常用命令

注意:

bat结尾的是windows的命令

sh结尾的是linux命令

名称命令
启动zookeeper
启动kafka

bin\windows\kafka-server-start.bat config\server.properties

nohup /data/kafka/kafka/bin/kafka-server-start.sh /data/kafka/kafka/config/server.properties &

查看主题列表

bin\windows\kafka-topics.bat --bootstrap-server 127.0.0.1:9092 --list

bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --list

创建主题

bin\windows\kafka-topics.bat --bootstrap-server 127.0.0.1:9092 --create --topic aa --partitions 1

bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --create --topic aa --partitions 1

描述主题

bin\windows\kafka-topics.bat  --bootstrap-server 127.0.0.1:9092 --describe  --topic "to-platform-msg"

bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --describe --topic "aa"

删除主题bin\windows\kafka-topics.bat --bootstrap-server 127.0.0.1:9092 --delete --topic to-platfrom-msg
启动消费者

bin\windows\kafka-console-consumer.bat --bootstrap-server 127.0.0.1:9092 --topic aa --from-beginning

bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic aa --from-beginning

启动生产者

bin\windows\kafka-console-producer.bat --bootstrap-server 127.0.0.1:9092 --topic aa

bin/kafka-console-producer.sh --bootstrap-server 127.0.0.1:9092 --topic aa

安装(开启SASL)

参照网址:kafka 开启认证授权_kafka开启认证-CSDN博客

zookeeper:配置文件:

zoo.cfg核心配置文件

用户名和密码的文件;

启动脚本修改如下:

kafka相关的配置文件:

server.properties:

启动脚本:

查看主题创建主题的配置文件如下图

安装后的效果图:

相关命令:

要注意正文中的用户名和密码

-- 查看主题
bin/kafka-topics.sh --bootstrap-server 192.168.56.101:9092 --list --command-config /data/kafka/kafka/config/common_config
-- 创建主题
bin/kafka-topics.sh --bootstrap-server 192.168.56.101:9092 --create --topic comtopic --partitions 1 --command-config /data/kafka/kafka/config/common_config
-- 描述主题
bin/kafka-topics.sh --bootstrap-server 192.168.56.101:9092 --describe --topic "comtopic" --command-config /data/kafka/kafka/config/common_config
-- 创建生产者
bin/kafka-console-producer.sh --bootstrap-server 192.168.56.101:9092 --topic comtopic \
--producer-property "sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='admin' password='Test2024@';" \
--producer-property security.protocol=SASL_PLAINTEXT \
--producer-property sasl.mechanism=PLAIN

-- 创建消费者
bin/kafka-console-consumer.sh --bootstrap-server 192.168.56.101:9092 --topic comtopic --from-beginning  \
--consumer-property "sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='admin' password='Test2024@';" \
--consumer-property security.protocol=SASL_PLAINTEXT \
--consumer-property sasl.mechanism=PLAIN

整个打包文件下载地址:https://www.alipan.com/t/ZZtnilN0SY7Lfmk3rDlS

Java代码kafka的相关配置;

java代码

package xxx.config;

import com.alibaba.fastjson.JSON;
import com.tiamaes.cloud.kafka.Factory;
import lombok.extern.log4j.Log4j2;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.kafka.support.Acknowledgment;
import org.springframework.messaging.handler.annotation.Payload;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * kafka消费端监听
 *
 */
@Component
@Log4j2
public class KafkaConsumerListener {
    /**
     * 批量消费
     *
     * @param resolved  resolved
     * @param ack   ack
     */
    @KafkaListener(topics = {"comtopic"}, containerFactory = Factory.BATCH)
    public void listener(@Payload List<ConsumerRecord<String, String>> resolved, Acknowledgment ack) {
        log.info("Received resolve22d: " + resolved);
        log.info("Received ack: " + JSON.toJSON(ack));
        for (ConsumerRecord<String, String> record : resolved) {
            String topic = record.topic();
            log.info("===消费者读取topic消息===" + topic);
            log.info("===消费者读取全量消息===" + record.value());
            log.info("===消费者读取全量消息===" + record);
            ack.acknowledge();
        }
    }
}

springboot配置文件

  # kafka相关配置
  kafka:
    enable: true
    bootstrap-servers: 192.168.252.37:9094
    consumer:
      groupId: ${spring.application.name}-${m1.instance-id}
      max-poll-records: 100
      enable-auto-commit: false
    listener:
      ack-mode: manual-immediate
      missing-topics-fatal: false
    properties:
      security:
        protocol: SASL_PLAINTEXT
      sasl:
        mechanism: PLAIN
        jaas:
          config: org.apache.kafka.common.security.plain.PlainLoginModule required username='admin' password='Test2024@';

可视化工具

offsetexplorer

offsetexplorer:Offset Explorer

SASL的相关配置:

上图中的配置:

org.apache.kafka.common.security.plain.PlainLoginModule required 
username='admin' 
password='Test2024@';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mengchanmian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值