【发布时间】:2018-10-14 05:04:29
【问题描述】:
我正在测试我的第一个 Spark Streaming 管道,它处理来自 Kafka 的消息。但是,经过几次测试运行后,我收到以下错误消息
There is insufficient memory for the Java Runtime Environment to continue.
我的测试数据非常小,因此不应该发生这种情况。在查看process 之后,我意识到之前提交的 Spark 作业可能没有完全删除?
我通常提交如下工作,我使用的是Spark 2.2.1
/usr/local/spark/bin/spark-submit --packages org.apache.spark:spark-streaming-kafka-0-8_2.11:2.0.2 ~/script/to/spark_streaming.py
然后使用 `Ctrl+C' 停止它
脚本的最后几行如下所示:
ssc.start()
ssc.awaitTermination()
更新
在我更改提交 spark 流作业的方式(如下命令)后,我仍然遇到同样的问题,即在终止作业后,内存不会被释放。我只启动了 Hadoop 和 Spark for那 4 个 EC2 节点。
/bin/spark-submit --packages org.apache.spark:spark-streaming-kafka-0-8_2.11:2.0.2 --py-files ~/config.py --master spark://<master_IP>:7077 --deploy-mode client ~/spark_kafka.py
【问题讨论】:
标签: java apache-spark apache-kafka out-of-memory