1、关于structed streaming 读取kafka的问题:

数据流从kafka过来,根据条件的不同,会被拆分成好几个流式dataFrame,这些流式的DF会进行各种join操作,在这个过程中会随机的触发KafkaConsumer is not safe for multi-threaded access,kafka多线程消费的问题,本程序就只有一个线程,怎么会有多线程消费的问题。在网上各方查找,有说是spark的架构task任务问题,有说是加个cache进行RDD缓存,有说是spark的bug,最终还是没有解决,问题还是会随机的出现,并且随着流的拆分数量增多,出现的概率也越高。(spark版本是2.3.0)

java.util.ConcurrentModificationException: KafkaConsumer is not safe for multi-threaded accessat org.apache.kafka.clients.consumer.KafkaConsumer.acquire(KafkaConsumer.java:1431)at org.apache.kafka.clients.consumer.KafkaConsumer.seek(KafkaConsumer.java:1132)at org.apache.spark.sql.kafka010.CachedKafkaConsumer.seek(CachedKafkaConsumer.scala:305)at org.apache.spark.sql.kafka010.CachedKafkaConsumer.org$apache$spark$sql$kafka010$CachedKafkaConsumer$$fetchData(CachedKafkaConsumer.scala:216)at org.apache.spark.sql.kafka010.CachedKafkaConsumer$$anonfun$get$1.apply(CachedKafkaConsumer.scala:122)at org.apache.spark.sql.kafka010.CachedKafkaConsumer$$anonfun$get$1.apply(CachedKafkaConsumer.scala:106)at org.apache.spark.util.UninterruptibleThread.runUninterruptibly(UninterruptibleThread.scala:77)
Caused by: java.util.ConcurrentModificationException: KafkaConsumer is not safe for multi-threaded accessat org.apache.kafka.clients.consumer.KafkaConsumer.acquire(KafkaConsumer.java:1431)at org.apache.kafka.clients.consumer.KafkaConsumer.seek(KafkaConsumer.java:1132)at org.apache.spark.sql.kafka010.CachedKafkaConsumer.seek(CachedKafkaConsumer.scala:305)at org.apache.spark.sql.kafka010.CachedKafkaConsumer.org$apache$spark$sql$kafka010$CachedKafkaConsumer$$fetchData(CachedKafkaConsumer.scala:216)at org.apache.spark.sql.kafka010.CachedKafkaConsumer$$anonfun$get$1.apply(CachedKafkaConsumer.scala:122)

2、解决办法:

由于问题是随机出现的,说明并不是代码的问题,可能是环境的问题或者其他外在的问题。目前找到唯一有效的办法就是提高spark的版本。将2.3.0改成了2.3.1。也不是最新版本,也不算老的版本,可能就是最好的版本。

<dependency><groupId>org.apache.spark</groupId><artifactId>spark-streaming_2.11</artifactId><version>2.3.1</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-hive_2.11</artifactId><version>2.3.1</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-streaming-kafka-0-10_2.11</artifactId><version>2.3.1</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-sql-kafka-0-10_2.11</artifactId><version>2.3.1</version></dependency>

KafkaConsumer is not safe for multi-threaded access相关推荐

  1. 【Kafka】KafkaConsumer is not safe for multi-threaded access

    1.背景 我写了一个消费kafka的程序报错这个. KafkaConsumer is not safe for multi-threaded accessException in thread &qu ...

  2. spark streaming 整合kafka 报错 KafkaConsumer is not safe for multi-threaded access

    问题描述 spark streaming 使用 直连方式 读取kafka 数据,使用窗口时出现 java.util.ConcurrentModificationException: KafkaCons ...

  3. Kafka consumer多线程下not safe for multi-threaded access问题

    Kafka consumer多线程下not safe for multi-threaded access问题 默认配置下kafka consumer的offset的commit是自动的,如需改成手动提 ...

  4. KafkaConsumer源码翻译(中英对照)

    阅读kakka源码时,英语不好,翻译的比较费劲,经常翻译了后面的,忘记了前面说的什么了,等回到前面之后,前面说的是什么,英文又不认识了,在这里做一个记录,慢慢写吧,估计会写的很艰难,目前更新的不多,哎 ...

  5. 【MQ】Kafka笔记

    笔记来源:尚硅谷视频笔记2.0版+2.1版 黑马视频:Kafka深入探秘者来了 kafka笔记地址:https://blog.csdn.net/hancoder/article/details/107 ...

  6. onload--Parameter Reference

    Parameter List The parameter list details the following: •The environment variable used to set the p ...

  7. vvvvvvvvvvvvvvvvvvvvvvvvv

    Java Concurrency In Practice Brian Göetz Tim Peierls Joshua Bloch Joseph Bowbeer David Holmes Doug L ...

  8. 计算机科学与技术专业术语

    计算机科学与技术专业术语 1.CPU 3DNow!(3D no waiting) ALU(Arithmetic Logic Unit,算术逻辑单元) AGU(Address Generation Un ...

  9. Kafka的常见错误分析

    1.UnknownTopicOrPartitionException org.apache.kafka.common.errors.UnknownTopicOrPartitionException: ...

最新文章

  1. openstack 同一网络 多个subnet
  2. 基于权因子的图像融合
  3. ora-01033:oracle initializationg or shutdown in progress
  4. Cifar10与ResNet18实战、lenet5、resnet(学习笔记)
  5. 黑白树(牛客网+树形dp)
  6. Post请求如何取消异步
  7. java映射的概念_Java 反射 概念理解
  8. 八皇后问题c语言循环,八皇后问题的12组解
  9. IOS学习笔记04---编写第一个C语言程序-Hello World
  10. 301 302区别_302状态码代表什么,302状态码解决方法
  11. 西南交大量子计算机,上海交大“致远学者”本科生突破光量子计算机探测瓶颈问题...
  12. 组态王与松下PLC FP系列连接
  13. h计算机软件指什么,stdio.h 是什么意思?
  14. PS2022安装步骤 ps 2022(详细安装方法)
  15. 基本求导法则与导数公式
  16. 多 “维” 优化——前端高并发策略的更深层思考
  17. 硬件设计分享-⑨电感与磁珠
  18. web前端学习(三):微信小程序基于H5规范,开发Android应用程序
  19. 5图片展示_作为一名跨境卖家,产品图片不这样拍还怎么靠“脸”吃饭?
  20. 异常检测——5月(task1)

热门文章

  1. HTML用画布画哆啦A梦,前端小项目:使用canvas绘画哆啦A梦
  2. 虚拟主播怎么做出来的?今日安利:AI虚拟人物怎么弄?
  3. 实验有效的js原生前端 全国三级联动
  4. 熬了一夜!我用Python做了一个网站,帮小姐姐生成漫画头像
  5. 2021-10-09烧录固件芯片操作流程
  6. 【原】计算机Tools vs 学习资料
  7. 2022夏暑假每日一题(八)
  8. Android 从WebServer 获取PDF转图片
  9. 八百呼的手机录音系统,一个划时代的进步
  10. mysql frm ibd 创建表_MySQL数据库实现从.frm文件和.ibd文件恢复数据表方法