博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
工作中遇到的几个Kafka问题整理
阅读量:6893 次
发布时间:2019-06-27

本文共 1270 字,大约阅读时间需要 4 分钟。

hot3.png

1. Kafka集群搭建好以后,运行一段时间Kafka节点挂掉,程序中出现如下错误

   ERROR Error while accepting connection (kafka.network.Acceptor)

   java.io.IOException: Too many open files 

   使用命令:ulimit -a   查看每个用户允许打开的最大文件数

   发现系统默认的是open files (-n) 1024,问题就出现在这里。
   然后执行:ulimit -n 4096
   将open files (-n) 1024 设置成open files (-n) 4096
   lsof -p 'kafka的进程号' | wc -l 

   命令行为临时修改不能持久

   vim /etc/security/limits.conf 
   * - nofile 8192 

2. 服务器磁盘空间小就二三十G,被kafka的日志文件给吃掉了

  这就需要调整kafkalog的保存时间以及segments的大小了,可以调整以下几个参数  

  # The minimum age of a log file to be eligible for deletion

  #log.retention.hours=168
    log.retention.hours=1

  # A size-based retention policy for logs. Segments are pruned from the log as long as the remaining

  # segments don't drop below log.retention.bytes.
  #log.retention.bytes=1073741824
    log.retention.bytes=50000000

  # The maximum size of a log segment file. When this size is reached a new log segment will be created.

    log.segment.bytes=50000000

3. Kafka消息过大,导致经常堵塞出现 kafka.common.MessageSizeTooLargeException

   1)producer.properties中参数 compression.codec和commpressed.topics 开启压缩功能

   2)server.properties  调整  message.max.bytes 大小,同时保证这个值小于  replica.fetch.max.bytes 这个参数值

   3)consumer.properties  调整  fetch.message.max.bytes 大小,保证它大于message.max.bytes.

  在使用java实现生产者和消费者时,参考上述调整参数大小。

 

 

转载于:https://my.oschina.net/u/2329222/blog/2253094

你可能感兴趣的文章
Block介绍(一)基础
查看>>
COLORREF的结构和用法
查看>>
《c程序设计语言》读书笔记--统计换行数,空格数,tab数
查看>>
【14】代理模式(Proxy Pattern)
查看>>
C# 16进制与字符串、字节数组之间的转换
查看>>
Visual Studio 2013 为C#类文件添加版权信息
查看>>
[考试]20151105
查看>>
排序一:冒泡以及三种优化
查看>>
NodeJS Stream 五:双工流
查看>>
Visual Studio 2010中配置SharpPcap
查看>>
记一次由于缺少外键索引导致的血案
查看>>
css基础之 图片瀑布流布局:用CSS+DIV等宽格子堆砌瀑布流效果 (一)
查看>>
java File (文档流)
查看>>
jquery-validation 学习总结
查看>>
POJ 2411: Mondriaan's Dream
查看>>
地铁售票系统设计思想及部分代码
查看>>
HTML基础之JS中的字符转义--转义中文或特殊字符
查看>>
Linq中小心使用IndexOf
查看>>
安装 OSS-FTP 时出现 ImportError: No module named gtk的解决
查看>>
mysql误操作后通过binlog恢复,同时解决tmp目录满的问题
查看>>