tiup 扩容 DM 失败:Error: version v4.0.3 on linux/amd64 for component prometheus not found

dm部署过程中,出现如下问题:
使用tidb 的 v4.0.0版本,发现没有dm组件,于是升级到v4.0.5版本,如下脚本部署:
tiup dm scale-out dm-1 scale_dm.yaml
报错:
Error: version v4.0.3 on linux/amd64 for component prometheus not found

想请问下:
1.在$TIUP_MIRRORS路径下,有 v4.0.5版本,为何安装的时候只去获取v4.0.3版本
2.这变把 v4.0.3版本放入$TIUP_MIRRORS后,报另外错误:
Error: fetch /229.prometheus.json from mirror(/usr/local/tidb) failed: local load from /229.prometheus.json failed, maximum size exceeded, file size: 17808, max size: 17805
看了下,是在snapshot里面进行比对的,
感觉这个的升级扩展不是很灵活,比如在单独进行scal-out某个组件如prometheus时,不能指定版本,这个有什么解决办法吗?

请问一下目前使用的 tiup 版本是多少?如果版本较低的话可能会有兼容性问题,可以先使用下面这个命令升级下 tiup 组件再重试下:tiup update --self && tiup update --all

执行update是没问题的,输出如下:
[tidb@tidb-1 tidb]$ tiup update --self && tiup update --all
Updated successfully!
component cluster version v1.1.0 is already installed
component ctl version v4.0.5 is already installed
component dm version v1.1.0 is already installed
component dmctl version v2.0.0-rc is already installed
component grafana version v4.0.5 is already installed
component package version v0.0.9 is already installed
component pd version v4.0.5 is already installed
component playground version v1.1.0 is already installed
component prometheus version v4.0.5 is already installed
component tidb version v4.0.5 is already installed
component tiflash version v4.0.5 is already installed
component tikv version v4.0.5 is already installed
Updated successfully!

显示grafana和prometheus都升级到最新的 v4.0.5,
但是执行scal-out还是报错
[tidb@tidb-1 tidb]$ tiup dm scale-out dm-1 scale_dm.yaml
Starting component dm: /home/tidb/.tiup/components/dm/v1.1.0/tiup-dm scale-out dm-1 scale_dm.yaml
Please confirm your topology:
dm Cluster: dm-1

dm Version: v2.0.0-rc
Type Host Ports OS/Arch Directories


prometheus 172.19.51.14 9090 linux/x86_64 /app/data/tidb/dm/deploy/prometheus-9090,/app/data/tidb/dm/data/prometheus-9090
grafana 172.19.51.14 3000 linux/x86_64 /app/data/tidb/dm/deploy/grafana-3000
Attention:
1. If the topology is not what you expected, check your yaml file.
2. Please confirm there is no port/directory conflicts in same host.
Do you want to continue? [y/N]: y

  • [ Serial ] - SSHKeySet: privateKey=/home/tidb/.tiup/storage/dm/clusters/dm-1/ssh/id_rsa, publicKey=/home/tidb/.tiup/storage/dm/clusters/dm-1/ssh/id_rsa.pub

    • Download grafana:v4.0.3 (linux/amd64) … Error

Error: version v4.0.3 on linux/amd64 for component prometheus not found

Verbose debug logs has been written to /app/data/tidb/logs/tiup-cluster-debug-2020-09-07-16-13-42.log.
Error: run /home/tidb/.tiup/components/dm/v1.1.0/tiup-dm (wd:/home/tidb/.tiup/data/S9t85EP) failed: exit status 1

scale-out的时候,报错: grafana:v4.0.3 ,安装的是v4.0.3版本

看下 scale out 文件内容
display 看下结果

scale out 内容如下:
cat scale_dm.yaml |grep -v “#”

monitoring_servers:
  - host: 172.19.51.14
grafana_servers:
  - host: 172.19.51.14

display 内容如下:
[tidb@tidb-1 tidb]$ tiup dm display dm-bi
Starting component dm: /home/tidb/.tiup/components/dm/v1.1.0/tiup-dm display dm-1
dm Cluster: dm-1
dm Version: v2.0.0-rc
ID Role Host Ports OS/Arch Status Data Dir Deploy Dir


172.19.51.14:9093 alertmanager 172.19.51.14 9093/9094 linux/x86_64 Up /app/data/tidb/dm/data/alertmanager-9093 /app/data/tidb/dm/deploy/alertmanager-9093
172.19.51.14:8261 dm-master 172.19.51.14 8261/8291 linux/x86_64 Healthy|L /app/data/tidb/dm/data/dm-master-8261 /app/data/tidb/dm/deploy/dm-master-8261
172.19.51.15:8261 dm-master 172.19.51.15 8261/8291 linux/x86_64 Healthy /app/data/tidb/dm/data/dm-master-8261 /app/data/tidb/dm/deploy/dm-master-8261
172.19.51.16:8261 dm-master 172.19.51.16 8261/8291 linux/x86_64 Healthy /app/data/tidb/dm/data/dm-master-8261 /app/data/tidb/dm/deploy/dm-master-8261
172.19.51.14:8262 dm-worker 172.19.51.14 8262 linux/x86_64 Free /app/data/tidb/dm/data/dm-worker-8262 /app/data/tidb/dm/deploy/dm-worker-8262
172.19.51.15:8262 dm-worker 172.19.51.15 8262 linux/x86_64 Bound /app/data/tidb/dm/data/dm-worker-8262 /app/data/tidb/dm/deploy/dm-worker-8262
172.19.51.16:8262 dm-worker 172.19.51.16 8262 linux/x86_64 Free /app/data/tidb/dm/data/dm-worker-8262 /app/data/tidb/dm/deploy/dm-worker-8262

  1. 请问从 v4.0.0 升级到 v4.0.5 为什么会有 v4.0.3 的告警?之前先升级到了 v4.0.3 了吗?
  2. $TIUP_MIRRORS 是之后下载了 v4.0.3 放入了? 那么当这个变量路径下有 4.0.3 和 4.0.5?

你好,
1.这也是我奇怪的地方,前面已经update到v4.0.5版本了,但是后面部署的时候还是去找 v4.0.3版本,
2.没有装过v4.0.3版本,是直接从 v4.0.0升级到v4.0.3版本

  1. 请问是参考这个文档吗?当前更新后 tiup 应该是 1.1.1 的版本,dm也是 1.1.1,您是在线还是离线环境?
    https://docs.pingcap.com/zh/tidb-data-migration/v2.0/deploy-a-dm-cluster-using-tiup

  2. 这是完整的扩容文件吗?那请按照上面的文档重新操作,多谢。
    image

谢谢,我参考重新部署一下

好的,有问题请继续反馈


你好,这边是离线环境,按照文档部署,存在问题:
1.在执行指定TIUP_MIRRORS后,还需要执行:local_install.sh,然后各component的版本就固定了,比如上图的 dm-v1.1.0
2.手动往TIUP_MIRRORS里面加component,如上图的 dm-v1.1.1-linux-amd64.tar.gz,但是tiup 依旧认不到这个component,
想请教一下,如何单独升级某个组件,比如dm

  1. 不能自己在离线包里加组件的包; tidb 的离线包不能安装 dm;
  2. DM 不在 tidb 中,需要单独安装,参考文档 clone 试试。
    https://docs.pingcap.com/zh/tidb/stable/production-offline-deployment-using-tiup#方式二使用-tiup-mirror-clone-命令手动打包离线组件包

还有个小问题,如果用新的TIUP_MIRROS部署升级后就不能再切回旧的TIUP_MIRRORS,会报错
比如:旧的TIUP_MIRRORS中cluster version 是 v1.1.0,新的TIUP_MIRRORS中是v1.1.1,
如果切回旧的TIUP_MIRRORS,就报找不到 cluster version v1.1.0

感觉升级成功后,使用新版本就好了吧


这边tiup和dm都升级到v1.1.1,但是还是同样的报错

目前两个离线镜像混用还不是很方便,正在开发 tiup mirror merge 功能来合并多个离线镜像,你这种情况能暂时使用在线镜像吗?或者自定义一个自己的离线镜像,可以使用 tiup mirror clone 来制作一个你自定义的离线镜像。

好的,谢谢,这边试一下

:call_me_hand: