TiSpark APP执行完毕后 APP不会退出

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:4.0.8
  • 【问题描述】:定义一个TiSpark 任务:
    val spark = SparkSession.
    XXXX此处省略
    val data = spark.sql(“SELECT XXXXX from xxx where xxx group by xxx”)
    data.write.
    format(“tidb”).
    option(“tidb.user”, “xxx”).
    option(“tidb.password”, “xxx”).
    option(“database”, “xxx”).
    option(“table”, “xxx”).
    mode(“append”).
    save()

任务执行到某一个Job完成后,Spark APP不再执行新的任务,且tidb数据写入完毕,按照正常理解,此时任务已经执行完毕,Spark app应主动结束任务,但此时APP一直在RUNNING状态,但没有任务继续执行。
最后的日志为:
20/12/14 17:32:46 WARN KVErrorHandler: NotLeader Error with region id 24722984 and store id 8, new store id 11
20/12/14 17:32:46 WARN KVErrorHandler: Failed to send notification back to driver since CacheInvalidateCallBack is null in executor node.
20/12/14 17:32:46 WARN KVErrorHandler: Stale Epoch encountered for region [{Region[24722984] ConfVer[5189] Version[6261] Store[11] KeyRange[t\200\000\000\000\000\000$\210_r\200\000\000\000\000\332\030>]:[t\200\000\000\000\000\000$\210_r\200\000\000\000\001\177\251\024]}]
20/12/14 17:32:46 WARN KVErrorHandler: Failed to send notification back to driver since CacheInvalidateCallBack is null in executor node

1 个赞

请问tispark什么版本?

2.4.7 apache版本

tispark-assembly 2.3.4

我在本地没能复现,请问最后有没有执行 spark.stop()

另外能否用最新版试一下?https://github.com/pingcap/tispark/releases/tag/v2.3.10

1 个赞

我也遇到了同样的问题,spark任务无法正常结束。


在使用tispark2.4.1自带的方式写入数据到tidb,已经查询到tidb的数据都已经正常写入了,但是spark任务执行完了以后好像资源无法释放。

使用的spark-submit提交的任务,spark.stop()也没用,也是上图的情况,executors X removed 一直fail
除非使用sys.exit(0)可以强制退出。
tidb 4.x版本

1 个赞

我的spark2.4.0 ,tispark-assembly-2.4.3-scala_2.11 也有一样的问题,数据写完之后,app一直都在,数据写完20分钟后刷出的日志在清理广播。有啥解决办法吗?


spark.stop()或者sparkSession.stop()必须要执行一个。

该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。