Hadoop 运行Spark作业时出现奇怪的错误
我正在运行一个有80台机器的spark cluster。每台机器都是一个具有8核和50GB内存的虚拟机(Spark似乎可以使用41个) 我在几个输入文件夹上运行,我估计输入的大小约为250GB gz压缩 我在驱动程序日志中遇到错误,我不知道该如何处理。示例(按照它们在日志中出现的顺序): 因为我的作业类(Phase0)不是任何堆栈跟踪的一部分,所以我不确定从这些问题源的错误中可以学到什么。有什么建议吗 编辑:特别是,即使在处理几GB的文件夹时,以下异常也会发生在我身上:Hadoop 运行Spark作业时出现奇怪的错误,hadoop,bigdata,apache-spark,google-hadoop,Hadoop,Bigdata,Apache Spark,Google Hadoop,我正在运行一个有80台机器的spark cluster。每台机器都是一个具有8核和50GB内存的虚拟机(Spark似乎可以使用41个) 我在几个输入文件夹上运行,我估计输入的大小约为250GB gz压缩 我在驱动程序日志中遇到错误,我不知道该如何处理。示例(按照它们在日志中出现的顺序): 因为我的作业类(Phase0)不是任何堆栈跟踪的一部分,所以我不确定从这些问题源的错误中可以学到什么。有什么建议吗 编辑:特别是,即使在处理几GB的文件夹时,以下异常也会发生在我身上: 271722 [Resu
271722 [Result resolver thread-3] WARN org.apache.spark.scheduler.TaskSetManager - Lost task 247.0 in stage 2.0 (TID 883, hadoop-w-79.c.taboola-qa-01.internal): java.lang.NullPointerException:
org.apache.spark.util.collection.ExternalAppendOnlyMap.insertAll(ExternalAppendOnlyMap.scala:153)
org.apache.spark.Aggregator.combineValuesByKey(Aggregator.scala:58)
org.apache.spark.shuffle.hash.HashShuffleWriter.write(HashShuffleWriter.scala:55)
org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:68)
org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:41)
org.apache.spark.scheduler.Task.run(Task.scala:54)
org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:177)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:745)
该解决方案并不特定于此处提到的例外情况,但最终我能够使用以下准则克服Spark中的所有问题:
hadoop soft nofile 900000
root soft nofile 900000
hadoop hard nofile 990000
root hard nofile 990000
hadoop hard memlock unlimited
root hard memlock unlimited
hadoop soft memlock unlimited
root soft memlock unlimited
至/etc/pam.d/common-session和至/etc/pam.d/common-session-noninteractive:
"session required pam_limits.so"
这是哪个Spark版本?我正在运行Spark 1.1
"session required pam_limits.so"