com.esotericsoftware.kryo.kryoexception java.util.ConcurentModificationException

近期 有网友看我的“整合Kafka到Spark Streaming——代码演示样例和挑战”文章,

讲 kafka对象 放到 pool 并通过broadcast广播出去:

然后 在开发測试阶段 报错例如以下:

然后就找我,说“代码都跟你的差点儿相同呀,为什么就报这个错呢?”

事实上 对于广播操作。spark 肯定要序列号的,还有尽量不要把大对象广播出去,

后来 把代码要过来看了下。发现 createKafkaProducerPool这种方法 ,单独创建了一个类,同一时候这个类 extends Serializable 。我当时的感觉就是,假设createKafkaProducerPool方法 。写在main方法 or Driver端 应该就肯定不会有这个问题,我也建议这样搞的。还有 我怀疑 集群是启用了Kryo序列号方式。而createKafkaProducerPool方法所在类居然 extends Serializable ,不解

important:

The closures (anon function going inside RDD.map(…)) are serialized by Spark before distributing them. Hadoop does not have this problem because it binary-serializes the whole .jar and copies it over the network. Spark uses JavaSerialization by default, but it is very slow compared to, say, Kryo. So we use Kryo to do that by using a wrapper (Spark doesn’t support kryo-serde for closures, not yet).

And uptill now the org.dbpedia.extraction.spark.serializeKryoSerializationWrapper class has been working perfectly. Some freak extractors seem to fail though.

依据这个错误检索的文章

  1. https://github.com/dbpedia/distributed-extraction-framework/issues/9
  2. http://stackoverflow.com/questions/27277015/sparkcontext-broadcast-jedispool-not-work
  3. http://apache-spark-user-list.1001560.n3.nabble.com/why-does-quot-com-esotericsoftware-kryo-KryoException-java-u-til-ConcurrentModificationException-quo-tc23067.html

假设大家有遇到这样问题或者什么好想法,请回复,THX ~

时间: 2024-10-09 23:08:12

com.esotericsoftware.kryo.kryoexception java.util.ConcurentModificationException的相关文章

关于livy的 java api 报错org.apache.livy.shaded.kryo.kryo.KryoException: Unable to find class: com.xxx.wordcount.WordCountJavaSpark

Livy Java api 依赖 <dependency> <groupId>org.apache.livy</groupId> <artifactId>livy-client-http</artifactId> <version>0.5.0-incubating</version> </dependency> <dependency> <groupId>org.apache.spark

mybatis异常:Could not find result map java.util.Map 问题分析及解决

错误写法 <select id="queryXXXCount" resultMap="java.util.Map" > mybatis报出的异常日志: org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.util.Map at org.apache.ibatis.builder.MapperBuilderAssistant.setStat

Java.util.ConcurrentModificationException的理解与修改

在Java开发的过程中有没有遇到类似的异常信息 Exception in thread "main" java.util.ConcurrentModificationException, 下面介绍异常原因以及这种异常的改进方法,内容很简单,有什么问题还望指正. 假设我们要实现这样一个例子: 判断集合里面有没有"world"这个元素,如果有,就添加一个"javaee"元素 出现异常的代码如下: import java.util.ArrayList;

java.util.Objects 源码学习

Objects 与 Object 区别 Object 是 Java 中所有类的基类,位于java.lang包. Objects 是 Object 的工具类,位于java.util包.它从jdk1.7开始才出现,被final修饰不能被继承,拥有私有的构造函数. 它由一些静态的实用方法组成,这些方法是null-save(空指针安全的)或null-tolerant(容忍空指针的),用于计算对象的hashcode.返回对象的字符串表示形式.比较两个对象. Objects 各方法介绍与分析 equals

【java】获取当前日期时间:java.util.Date

1 public class TestDate { 2 public static void main(String[] args) { 3 System.out.println(new java.util.Date()); 4 } 5 } 运行结果:Fri Apr 07 21:56:24 CST 2017

源码(03) -- java.util.Collection&lt;E&gt;

 java.util.Collection<E> 源码分析 --------------------------------------------------------------------------------- java.util.Collection<E>是一个接口,它的定义如下: 1 public interface Collection<E> extends Iterable<E> { 2 // Query Operations 3 //

java时间操作三部曲之java.util.GregoiranCalendar

前面已经介绍过了它的祖先Date和父亲Calendar,今天就来认识一下GregorianCalendar.在java1.0版本的时候Date还是很强大的,但是java类库的设计者认为保存时间和给时间点命名的类要分开,于是就有了表示时间的Date和表示大家熟悉的日历表示法的GregorianClendar.上一篇介绍了Calendar,实际上今天的主角就是扩展了Calendar,变得更加通用. 类构造函数 1.GregorianCalendar() 在具有默认语言环境的默认时区内使用当前时间构造

java.util.Calendar简介

java.util.Calendar简介 一般写为:import java.util.Calendar;在开头 然后在中间写上, Calendar cal = Calendar.getInstance(); int year=cal.get(Calendar.YEAR); int month=cal.get(Calendar.MONTH);就可以了: Calendar是一个抽象类,我们无法直接实例化它,它有一个具体子类实体类java.util.GregorianCalendar,这个类实现的就是

java.util.regex.PatternSyntaxException: Dangling meta character &#39;*&#39; near index 0

使用repalceAll 方法出现java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0异常 代码如下: 1 @Test 2 public void testReplaceAll(){ 3 String sql = "select * from per_handle where id not in('3ce7405509414105a65e7456987e7393')"; 4 St