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

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配置里面更改备份数
三(1)、用kafka遇到的问题_第1张图片
重启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)、用kafka遇到的问题)