【发布时间】:2016-10-10 17:48:10
【问题描述】:
我在独立集群模式下运行 spark 作业时遇到这些错误。
我的 spark 工作的目标是:
- 运行一些
groupby, -
count, - 和
joins得到最终的df,然后是df.toPandas().to_csv()。
输入数据集为 524 Mb。我得到的错误:
WARN TaskMemoryManager: 分配页面失败(33554432 字节),重试。
重复上述多次后,又出现新错误
WARN NettyRpcEnv:忽略失败:java.util.concurrent.TimeoutException:无法在 10 秒内收到任何回复
org.apache.spark.rpc.RpcTimeoutException:期货在 [10 秒] 后超时。此超时由 spark.executor.heartbeatInterval 控制
在 org.apache.spark.rpc.RpcTimeout。 org$apache$spark$rpc$RpcTimeout$$createRpcTimeoutException
ExecutorLostFailure(其中一个正在运行的任务导致executor driver退出)原因:Executor heartbeat在158295ms后超时
-
处理来自 ('127.0.0.1', 49128) 的请求时发生异常 Traceback(最近一次调用最后一次):
文件“/home/stp/spark-2.0.0-bin-hadoop2.7/python/pyspark/accumulators.py”,第 235 行,在句柄中 num_updates = read_int(self.rfile) 文件“/home/stp/spark-2.0.0-bin-hadoop2.7/python/pyspark/serializers.py”,第 545 行,在 read_int 引发 EOFError EOF错误
-
终于###********##
py4j.protocol.Py4JNetworkError: 尝试连接 Java 服务器时出错 (127.0.0.1:38073)
首先想到,我认为该错误可能是由于内存错误(TaskMemoryManager)和总共 16gb 造成的,该进程消耗最大 6gb,剩余 9+gb 空闲。我也将驱动程序内存设置为10G。所以通过。
但是,当我对最终的数据帧执行 count() 或 show() 时,这是一个成功的操作。但是在执行 toCsv 时,它会抛出上述错误/警告。
实际上并不了解/猜测可能导致问题的原因。
请帮我分析上述错误。欢迎任何帮助/评论。谢谢。
【问题讨论】:
标签: python apache-spark pyspark apache-spark-sql spark-dataframe