2
kex0916 2019-02-02 11:34:35 +08:00 1
你点有 failed 的 stages,应该能看到失败的原因,或者去查看 executor 的日志应该也能找到失败原因
数据准确性这块你是保存文本数据,写出操作不是幂等的话在出错的时候是保证不了有且仅有一次的 |
3
qqq8724 OP [![k8e2H1.png]( https://s2.ax1x.com/2019/02/02/k8e2H1.png)]( https://imgchr.com/i/k8e2H1) 原因都是这个样子的 我是担心它 stage 没跑完 结果量会不会少 最后一句话没太懂
@kex0916 |
4
kex0916 2019-02-02 13:57:31 +08:00 1
看样子是 task 提交被拒绝了,你有开启 spark task 推测执行吗,具体的原因要看一下 driver 的日志
如果被拒绝的原因是因为已经执行完成的话对数据没有影响,如果是因为已经标记失败的话那可能对数据有影响,如果 task 重试成功可能会重复,如果重试失败可能丢数据 |
5
qqq8724 OP @kex0916 我没有加那个参数 日志输出我设置 WARN
最后一条是 java.io.IOException: Broken pipe 其他: 19/02/02 02:04:25 ERROR scheduler.LiveListenerBus: SparkListenerBus has already stopped! Dropping event SparkListenerBlockUpdated(BlockUpdatedInfo(BlockManagerId(3, zzcywhadoop07, 58138),broadcast_10_piece0,StorageLevel(false, false, false, false, 1),0,0,0)) 19/02/01 23:52:28 WARN spark.ExecutorAllocationManager: No stages are running, but numRunningTasks != 0 我找了几个不常见的报错 当时指定 300 个分区 结果也确实是 300 个 |
6
kex0916 2019-02-02 15:35:22 +08:00 1
你要找应用真正停止的原因,是正常执行完还是遇到了错误
ERROR scheduler.LiveListenerBus: SparkListenerBus has already stopped! 这个应该是 SparkContext 停止引起的,java.io.IOException: Broken pipe 这个要看看调用栈 数据的话你可以重新跑这个任务吗,计算一下条数什么的比较一下 |