spark.tispark.pd.addresses不能通过TiDBOptions去配置

在tispark文档 tispark/docs/datasource_api_userguide.md 中

我通过TiDBOptions去配置后,on k8s运行时报错

version: spark-2.4.5、 tispark-2.3.0-rc.1

麻烦上传下完整的报错,如果太长,可以是txt文件,多谢。

pd-addr error.txt (3.4 KB)

写入仍然失败,LockTable 问题。不论我指定 useTableLock 的值为true还是false都不行。
LockTable error.txt (5.1 KB)

请遵照文档,确认一下若是在使用 v3.0.14+ 的版本的 TiDB 时,需要开启 TiDB 的 enable-table-lock 功能以支持大事务写入。
https://github.com/pingcap/tispark/blob/master/docs/datasource_api_userguide.md#tidb-version-and-configuration-for-write

同时,TiDBOptions 中需要同时指定使用 useTableLock 为 true
https://github.com/pingcap/tispark/blob/master/docs/datasource_api_userguide.md#tidb-options

spark.tispark.pd.addresses 优先配置于 spark-defaults.conf,若在 TiDBOptions 中配置会覆盖 defaults 中的设置。文档在这里写的不够清晰,我们会修改一下。

这里不是说3.x才需要设置表锁吗?我用的是tidb v4.0.1

TiKV 版本也确定是 v4.0.1 吗?

建议通过 tiup cluster display 命令查看当前的 tidb 集群版本。

说了是4.0.1呀。。。

image

我看了眼报错,有可能是因为 v2.3.1-rc 包里的报错信息的问题,可以用 v2.3.1 版本的 TiSpark 再试一下。

https://github.com/pingcap/tispark/releases/tag/v2.3.1

如果不方便换包的话,也可以在 spark-defaults 中添加一条配置暂时绕过报错:

spark.tispark.write.without_lock_table true

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。