Error when sending message to topic test with key: null, value: 2 bytes with error: (org.apache.kafk...

windows下使用kafka遇到这个问题: Error when sending message to topic test with key: null, value: 2 bytes with error: (org.apache.kafka.clients.producer.internals.ErrorLoggingCallback)

百度了下,没找到答案,还是自己看输出台日志...其实你只要看下输出台的内容总能找到答案的..

我是看kafka-server-start这个cmd窗口,就是你启动kafka服务的那个窗口..

从图中的信息可以看出,创建日志失败,而且路径跟我预期的不一样,一看就知道又是windows和linux文件路径不同的问题:

#windows下应该改成下边这样:

log.dirs=F:/LocalData/kafka_log
或者: log.dirs=F:\\LocalData\\kafka_log

重新启动即可...

当然每个人遇到这个问题的原因可能不一样,有的是因为端口号,但总能在日志中找到错误信息的...

还有个问题就是log4j.properties这个文件最好修改下,修改如下:

log4j.appender.controllerAppender.File=${kafka.logs.dir}/kafka/controller.log

所有的这种输出日志的路径,加上kafka,不然日志会和别的程序的日志混杂在一块,很乱...

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误是Kafka生产者在发送消息时与Kafka broker通信失败所引起的。常见的原因包括Kafka broker不可用、网络故障、Kafka集群中的分区已满等。 以下是一些可能的解决方法: 1. 检查Kafka broker是否可用。您可以尝试使用Kafka命令行工具来连接Kafka broker并测试发送消息。例如,在命令行中运行以下命令: ``` kafka-console-producer.sh --broker-list localhost:9092 --topic test ``` 如果连接成功并且您可以发送消息,则Kafka broker应该是可用的。 2. 检查网络连接是否正常。您可以尝试使用ping命令或telnet命令来测试与Kafka broker的网络连接。例如,在命令行中运行以下命令: ``` ping kafka-broker-hostname ``` 或者: ``` telnet kafka-broker-hostname 9092 ``` 如果网络连接正常,则应该可以连接到Kafka broker。 3. 检查Kafka集群中的分区是否已满。如果分区已满,则不能再发送更多的消息。您可以使用Kafka命令行工具来查看集群中的分区状态。例如,在命令行中运行以下命令: ``` kafka-topics.sh --zookeeper zookeeper-hostname:2181 --describe --topic test ``` 如果分区已满,则您需要增加分区或者删除一些旧的消息以释放空间。 4. 检查Kafka生产者的配置是否正确。您需要确保生产者的配置与Kafka broker的配置相匹配。例如,您需要检查生产者的bootstrap.servers参数是否正确设置为Kafka broker的主机名和端口号。 如果以上方法都无法解决问题,请尝试查看Kafka生产者的日志以获取更多详细信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值