Apache Kafka快速入门指南使用问题求助(新手)
针对Kafka新手批量加载消息的问题解决指南
嘿,作为曾经也跳过Kafka入门步骤踩过坑的过来人,我太懂你想直奔批量加载需求的心情了!不过快速入门的第7步(Kafka Connect相关)其实依赖前面的基础环境,直接跳步肯定会出问题。结合你用的是Scala 2.11版本的kafka_2.11-1.1.0,给你整理了几个关键的解决方向:
先补全必须的前置步骤
Kafka Connect没法凭空运行,它需要依赖正常工作的Kafka broker和ZooKeeper,所以得先把前6步的基础环境搭好:
- 启动ZooKeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties - 启动Kafka broker:
bin/kafka-server-start.sh config/server.properties - 创建用于批量消息的测试主题:
这些步骤完成后,Connect才能正常连接到集群,不会出现“连接超时”“主题不存在”这类报错。bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic bulk-test-topic
检查Kafka Connect的核心配置
官方二进制包里的Connect配置文件在config/目录下,比如connect-standalone.properties,重点确认这几个参数:
bootstrap.servers:必须和你启动的Kafka broker地址一致(默认是localhost:9092)key.converter和value.converter:如果是批量加载普通文本或JSON消息,推荐用org.apache.kafka.connect.json.JsonConverter,方便后续解析offset.storage.topic:这个主题是用来存储Connect的偏移量的,Kafka会自动创建,但前提是broker正常运行
快速批量加载消息的实操方法
如果你的目标只是快速验证批量加载效果,除了Connect,还可以用官方自带的性能测试脚本直接生成大量消息,操作更简单:
bin/kafka-producer-perf-test.sh --topic bulk-test-topic --num-records 100000 --record-size 100 --throughput 10000 --producer-props bootstrap.servers=localhost:9092
这个命令会往指定主题发送10万条每条100字节的消息,你可以通过kafka-console-consumer.sh来验证消息是否成功加载:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic bulk-test-topic --from-beginning
另外提一句,你用的1.1.0版本是比较稳定的老版本,但如果后续遇到Connect的功能限制,比如缺少某些连接器,可以考虑升级到较新的稳定版本,但先把当前的基础环境跑通才是重点哦!
内容的提问来源于stack exchange,提问作者Catherine
相关产品推荐
相关产品推荐

