我在spark独立群集中编写spark应用程序。当我运行以下代码时,我得到了ClassNotFoundException(参考截图)。所以,我跟着工人(192.168.111.202)登录。
List<Integer> list = Arrays.asList(1,2,3,4);
list.stream()
.boxed() // Converts Intstream to Stream<Integer>
.sorted(Collections.reverseOrder()) // Method on Stream<Integer>
.forEach(System.out::println);
以下日志是工作人员的日志。这些日志表示worker kill executor,并且发生错误。工人为什么要杀死执行人?你能给出任何线索吗?
package main
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
object mavenTest {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName("stream test").setMaster("spark://192.168.111.201:7077")
val sc = new SparkContext(conf)
val input = sc.textFile("file:///root/test")
val words = input.flatMap { line => line.split(" ") }
val counts = words.map(word => (word, 1)).reduceByKey { case (x, y) => x + y }
counts.saveAsTextFile("file:///root/mapreduce")
}
}
答案 0 :(得分:1)
我发现这是关于记忆的问题,但我不清楚为什么会出现这个问题。只需在yarn-site.xml文件中添加以下属性即可。 Apache hadoop说这个configure决定是否对容器实施虚拟内存限制。
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
答案 1 :(得分:0)
你的火花版是什么?这是一个火花已知的错误,并在1.6版本中修复。 更多细节你可以看到[SPARK-9844]