Kafka问题总结

1. 消费者无法接受消息进行消费

  • 1、首先检查生产者是否正常发送消息
    在linux启动消费者

    bin/kafka-console-consumer.sh –zookeeper 192.168.6.56:2181 –topic test1 –from-beginning
    如果生产者发送了消息,此时Linux开启的消费者能够消费消息,说明生产者没有问题

  • 2、检查生产者和消费者的topic配置
    生产者:
    defaultTopic的配置 或 发送时指定的topic
    消费者:

<!-- 消费者容器配置信息 -->
    <bean id="containerProperties" class="org.springframework.kafka.listener.config.ContainerProperties">
        <!-- 重要!配置topic -->
        <constructor-arg value="test1"/>
        <property name="messageListener" ref="messageListernerConsumerService"/>
    </bean>

一般都是上面两个问题

2. Kafka启动时异常

一 、启动时内存不足

## There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 986513408 bytes for committing reserved memory.
# An error report file with more information is saved as:
# //hs_err_pid6500.logOpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000bad30000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12)
==========================================================

原因:kafka启动脚本kafka-server-start.sh中指定了kafka启动时需要的最小内存,默认为1G
export KAFKA_HEAP_OPTS=”-Xmx1G -Xms1G”
虚拟机分配的虚拟内存在1G以下时就会出现该错误。

解决方法:修改脚本kafka-server-start.sh中的最小启动内存,设置为较小值。

二 启动时出现oom

[ FATAL ] Fatal error during KafkaServerStable startup. Prepare to shutdown
 Java.lang.OutOfMemoryError: java heap space
        at java.nio.HeapByteBuffer.(HeapByteBuffer.java:57)
        at java.nio.ByteBuffer.allocate(ByteBuffer.java:335)
        at kafka.log.SkimpyOffsetMap.(OffsetMap.Scala:42)
..........
==========================================================

原因:kafka启动时分配的内存过小导致
解决方法:同样脚本kafka-server-start.sh中的最小启动内存,设置为较大值。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值