kafka 的 ClosedChannelException
来源:互联网 发布:知乎手机版如何写文章 编辑:程序博客网 时间:2024/05/21 02:50
场景: kafka 版本kafka_2.10-0.8.1.1 ,spark任务刚开始正常运行,一段时间后,报下面的错误,但是数据准确性不影响,只是严重拖慢了实时任务
[Stage 46825:=========================================> (3 + 1) / 4]17/11/04 23:14:23 WARN TaskSetManager: Lost task 0.0 in stage 46825.0 (TID 1631417, hadoopslave1): java.nio.channels.ClosedChannelException
at kafka.network.BlockingChannel.send(BlockingChannel.scala:100)
at kafka.consumer.SimpleConsumer.liftedTree1$1(SimpleConsumer.scala:78)
at kafka.consumer.SimpleConsumer.kafka$consumer$SimpleConsumer$$sendRequest(SimpleConsumer.scala:68)
at kafka.consumer.SimpleConsumer$$anonfun$fetch$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(SimpleConsumer.scala:112)
at kafka.consumer.SimpleConsumer$$anonfun$fetch$1$$anonfun$apply$mcV$sp$1.apply(SimpleConsumer.scala:112)
at kafka.consumer.SimpleConsumer$$anonfun$fetch$1$$anonfun$apply$mcV$sp$1.apply(SimpleConsumer.scala:112)
at kafka.metrics.KafkaTimer.time(KafkaTimer.scala:33)
at kafka.consumer.SimpleConsumer$$anonfun$fetch$1.apply$mcV$sp(SimpleConsumer.scala:111)
at kafka.consumer.SimpleConsumer$$anonfun$fetch$1.apply(SimpleConsumer.scala:111)
at kafka.consumer.SimpleConsumer$$anonfun$fetch$1.apply(SimpleConsumer.scala:111)
分析:
查看源码 kafka 源码 kafka.network.BlockingChannel ,知道该异常抛出的时候,什么都木有做,所以只是拖慢实时任务,并不影响数据准确性
def send(request: RequestOrResponse):Int = {
if(!connected)
throw new ClosedChannelException()
val send = new BoundedByteBufferSend(request)
send.writeCompletely(writeChannel)
}
那是什么什么造成连接kafka异常呢? 查找资料得知 kafka 的 server.properties 的下面 参数可能影响
num.network.threads=2 #处理网络请求的线程数
zookeeper.connection.timeout.ms=1000000 # kafka 连接 zookeeper 的 超时时间,如果过大,一次连接不上,就会卡死很久
改为
num.network.threads=3
zookeeper.connection.timeout.ms=6000
重启kafka ,该错误不再报,而且 每个实时任务的时间 减小魏原来的1/10 ,性能几乎提高 10倍
- kafka 的 ClosedChannelException
- Kafka异常 java.nio.channels.ClosedChannelException
- ClosedChannelException
- spark<java.nio.channels.ClosedChannelException>
- HBase中LeaseException及ClosedChannelException解决办法
- HBase中LeaseException及ClosedChannelException解决办法
- HBase中LeaseException及ClosedChannelException解决办法
- DUBBO Caused by: java.nio.channels.ClosedChannelException
- spark提交任务java.nio.channels.ClosedChannelException
- Kafka学习(四):Kafka的安装
- kafka:python获取kafka的值
- Kafka介绍, kafka主题的副本机制
- 安装kafka以及kafka的简单运行
- kafka详解:Kafka的设计思想、理念
- kafka 0.8的变化
- Kafka的架构设计
- kafka的迁移干货
- 删除kafka 的topic
- pytorch安装.md
- 听朋友说做直播平台先了解直播系统源码。
- Quartz配置上次任务没有执行完,下次任务推迟执行
- Java8 Lambda表达式不同表示形式
- PLSQL无法登录的解决办法
- kafka 的 ClosedChannelException
- 图书馆管理系统UML各种图
- 参考文献管理
- Spring连接数据库的几种常用的方式
- 求1-1000之间的所有奇数de和并输出
- Java实现对文本中的英文字母进行大小写转换
- 面向对象程序设计上机练习一(函数重载)
- 文章标题
- Linux上如何查看某个进程的线程