fast ddl涉及的 tmp-dir 参数是全局的,还是单个实例级别的?

【TiDB 使用环境】生产环境
【TiDB 版本】7.1.5
【操作系统】centos
【部署方式】自建 tiup
【遇到的问题:问题现象及影响】
因为需要使用 fast ddl,但是tidb默认会在 /tmp/tidb 目录下存放临时文件,
但是机器由于配置不同,所以 /tmp/tidb 目录可能没有足够的空间和性能,所以想根据不同的机器修改 tmp-dir 参数

如果是全局级别的,只能统一使用软链接方式调整机器目录了

或者有什么好的方法,在机器硬盘挂载不一致的环境里面,可以便捷的调整 ?

tiup cluster scale-out tidb_cluster scale-out-tidb.yml 

Error: Failed to parse topology file scale-out-tidb.yml (topology.parse_failed)
  caused by: yaml: unmarshal errors:
  line 10: field temp-dir not found in type spec.TiDBSpec
  line 11: field tmp-storage-path not found in type spec.TiDBSpec

装系统的时候,给 tmp 目录多留点空间…

这属于规划部分的工作了

1 个赞

在v7.1版本中,这个是配置文件参数。应该可以修改不同机器下的配置。
https://docs.pingcap.com/zh/tidb/v7.1/tidb-configuration-file/#temp-dir-从-v630-版本开始引入

1 个赞

可以在每个host配置下面自己单独设置,但是这样很麻烦啊。

你还不如用软链来调整机器目录呢。

1 个赞

使用软链接方式

  • 在不同机器上,将 /tmp/tidb 软链接到对应机器上有足够空间和性能的磁盘路径。这种方式简单且不依赖 TiUP 配置,适合多节点机器磁盘配置不一致的场景。
  • 其他的方式都是要修改配置文件的,如此一来,每个节点的配置就不一致了,后面不好维护。
1 个赞