tidb及dm安装时对ansible的版本要求不一样,能否共用一个中控机?

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

  • 【TiDB 版本】:
  • 【问题描述】:

查看requirements.txt 文件发现ansible要求的版本不一致

tidb-v3.0.7 要求 ansible==2.7.11

dm-v1.0.3 要求 ansible>=2.5.0,<2.7.0

我在部署完tidb集群后,用tidb安装时的中控机安装dm集群,执行pip install -r ./requirements.txt这一步时要卸载2.7.11版本的ansible,重新安装低版本的ansible。这样后续使用低版本的ansible维护tidb集群有影响吗?

会影响后面 TiDB 集群的维护。TiDB 部署依赖的 ansible 版本选一个也兼容 DM 的版本,对应文档部署部分:TiDB release-2.0、release-2.1、release-3.0 及最新开发版本兼容 Ansible 2.4 ~ 2.7.11 (2.4 ≤ Ansible ≤ 2.7.11)。

好的。

有问题欢迎发帖。

继续刚这个问题,我共用一个中控机,grafana server,prometheus server是同一台机器,部署dm集群时修改了下deploy的目录。部署好后,tidb的集群监控打开后都没有数据了,是不是这两个集群监控不能共用啊?

tidb-ansible 和 dm-ansible 分别使用独立的 prometheus 和 grafana server,如果共用一套,其中一个 ansible 执行管理操作时会覆盖另一个的配置;如果部署在同一台机器,建议在 tidb-ansible 和 dm-ansible 的 group_vars 目录下相关配置文件中指定不同的端口号。

如果不能共用,那还是单独部署dm集群吧

我现在的需求有3个大库(500G以上),7个小库,共10个mysql数据库要同步至tidb,这样dm集群有推荐的机器配置吗?

参考官网说明: 通常情况下,我们推荐每个节点上部署单个 DM-Worker 实例。但如果您的机器拥有性能远超 TiDB 软件和硬件环境要求中推荐配置的 CPU 和内存,并且每个节点配置 2 块以上的硬盘或大于 2T 的 SSD,您可以在单个节点上部署不超过 2 个 DM-Worker 实例。

只看到tidb集群的机器配置推荐,没找到dm集群的机器配置推荐

DM 集群配置没有单独的特别说明,可以参考 TiDB 部署环境的配置。DM 对机器配置要求没有 TiDB 高,可以根据硬件资源合理部署 DM-worker 就可以,比如一次全量同步 500G 的大库,要求 DM-worker 单实例部署的机器磁盘必须大于 500G。

就比如这个500G的库,初始化导入的时候,磁盘确实是需要500G以上的空间,但初始化导入后,再同步就用不了这么大的磁盘空间,这样这台机器磁盘就会浪费很大。这个有什么办法可以节省点磁盘空间吗?

DM 有全量、增量和全量+增量同步三种选择,可以单独用 mydump + loader 做一次全量的一次性同步,再使用 DM 做增量,这样对资源利用率友好。具体可以看下文档介绍: https://pingcap.com/docs-cn/stable/reference/tools/data-migration/configure/task-configuration-file/

好的,谢谢

欢迎提问。