三(1)、用kafka遇到的问题

本文介绍在CDH集群中配置Kafka的过程,包括创建topic、使用producer和consumer,以及解决常见的错误,如复制因子不匹配、socket请求字节限制和连接协调器失败等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、cdh里面加入kafka,
创建topic:
kafka-topics --zookeeper node01:2181 --create –replication-factor 1 --partitions 1 --topic from_flume01

producer写入数据:
kafka-console-producer --broker-list node01:9092 --topic from_flume01

consumer消费数据:
kafka-console-consumer --bootstrap-server node01:9092 --topic from_flume01
但是消费者消费不出来数据

查看日志里面报错:
2019-03-13 16:50:01,068 ERROR kafka.server.KafkaApis: [KafkaApi-48] Number of alive brokers ‘1’ does not meet the required replication factor ‘3’ for the offsets topic

因为我虚拟机搭建的是单节点cdh,即使在创建topic的时候,命令里面指定了1个备份数,但是因为cdh里面默认指定了3,所以才报了这个错。
解决办法:
去到cm,kafka配置里面更改备份数
在这里插入图片描述
重启kafka,然后再使用producer、consumer,能正常使用了

2、报错
[SocketServer brokerId=173] Unexpected error from /192.168.74.80; closing connection
org.apache.kafka.common.network.InvalidReceiveException: Invalid receive (size = 218762506 larger than 104857600)

查找的答案是跟kafka socket.request.max.bytes设置有关。
参数参考:https://www.cnblogs.com/zhjh256/p/11369165.html
#socket请求的最大字节数。为了防止内存溢出,message.max.bytes必然要小于
socket.request.max.bytes = 104857600

message.max.bytes # kafka server接收的最大消息大小

3、执行kafka消费命令的时候,虽然命令里面bootstrap-server写的是ip地址,但是还是报错:
kafka Marking the coordinator papp18:9092 (id: 2147483647 rack: null) dead
其中papp18是kafka服务器的hostname
解决:在hosts文件中配置ip、hostname,再重新执行kafka消费命令就可以了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值