一、Kafka安装
1.1、Linux下安装
- 下载安装包
https://kafka.apache.org/downloads

- 解压
tar -zxvf kafka_2.12-3.0.1.tgz
复制
- 启动Zookeeper
cd kafka_2.12-3.0.1
bin/zookeeper-server-start.sh config/zookeeper.properties
复制
- 修改kafka配置
vi config/server.properties
复制
# 去掉这一行的注释
listeners=PLAINTEXT://:9092
# 去掉这一行的注释,并把换掉ip(需要外网访问的ip使用外网ip)
advertised.listeners=PLAINTEXT://localhost:9092
复制
- 启动kafka
bin/kafka-server-start.sh config/server.properties
复制
-
创建topic
-
旧版本
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
复制 -
新版本
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
复制
-
-
启动生产者
bin/kafka-console-producer.sh --topic test --broker-list localhost:9092
复制
- 启动消费者
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test
复制
- 测试
生产者发送消息
订阅的消费者接收消息
1.2、Docker安装
-
安装zookeeper
kafka需要zookeeper管理,所以需要先安装zookeeper。
# 拉取镜像 docker pull zookeeper:3.6 # 启动容器 docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime zookeeper:3.6
复制 -
安装kafka
# 拉取镜像 docker pull wurstmeister/kafka:2.12-2.5.0 # 启动kafka docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kafka -p 9002:9002 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=localhost:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9002 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9002 -v /etc/localtime:/etc/localtime wurstmeister/kafka:2.12-2.5.0
复制【参数说明】 -e KAFKA_BROKER_ID=0 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己 -e KAFKA_ZOOKEEPER_CONNECT=192.168.124.28:2181/kafka 配置zookeeper管理kafka的路径192.168.124.28:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.124.28:9002 把kafka的地址端口注册给zookeeper,如果是远程访问要改成外网IP,类如Java程序访问出现无法连接。 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9002 配置kafka的监听端口 -v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间
复制
二、SpringBoot集成简单测试
- 依赖
<!-- kafka -->
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
复制
- 测试使用
@RestController
public class KafkaTest {
@Autowired
private KafkaTemplate<String,Object> kafkaTemplate;
/**
* 发送消息到mq
* @param topic topic
* @param message 消息内容
*/
@GetMapping("/test")
public void testSendMessage(String topic, Object message){
kafkaTemplate.send(topic, message);
}
}
复制
以上,调用这个接口,即可发送消息到kafka中
最后修改时间:2023-05-25 10:37:10
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
您好,您的文章已入选墨力原创作者计划合格奖,10墨值奖励已经到账请查收!
❤️我们还会实时派发您的流量收益。
3年前

评论
相关阅读
Oracle 发布 Java 24
通讯员
141次阅读
2025-03-19 10:08:51
Oracle 正式发布 Java 24
千钧
104次阅读
2025-03-20 11:26:28
Java 与 Oracle 集成
芃芃
39次阅读
2025-03-19 21:21:38
如何使用 RisingWave 和 PuppyGraph 构建高性能实时图分析框架
RisingWave中文开源社区
37次阅读
2025-03-18 10:49:54
Kafka删除Topic,弄不好会失败或发生故障
虞大胆的叽叽喳喳
29次阅读
2025-03-17 16:55:10
从零玩转GaussDB:Java开发者必学的JDBC操作指南
数据库运维之道
28次阅读
2025-03-19 11:20:48
Java 开发玩转 MCP:从 Claude 自动化到 Spring AI Alibaba 生态整合
阿里巴巴中间件
21次阅读
2025-04-08 11:01:30
java项目选择云服务器怎么选?
云知识CLOUD
19次阅读
2025-04-09 20:02:37
Java反射大揭秘:程序员的“偷窥”与“开挂”指南
让天下没有难学的编程
13次阅读
2025-03-28 15:02:40
瞧瞧别人家的判空,那叫一个优雅!
jinchanchanwaji
11次阅读
2025-04-03 14:56:21
TA的专栏
Java中间件
收录0篇内容
热门文章
一次Connection reset by peer的问题排查
2021-12-07 33728浏览
Java8-Stream: no instance(s) of type variable(s) R exist so that void conforms to R
2021-02-19 32291浏览
nginx: [emerg] "user" directive is not allowed here in /etc/nginx/conf.d/nginx.conf:1
2022-02-15 24196浏览
ORA-00904: "POLTYP": invalid identifier
2019-06-19 12923浏览
PageHelper排坑,处理排序失败: net.sf.jsqlparser.JSQLParserException
2022-05-19 12712浏览
目录