KS贺大伟
(Ks贺大伟)
1
为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
【概述】场景+问题概述
tiup升级一个3.X的集群,由于历史原因,这个集群tikv的目录并不符合最新的tidb集群不胡说规范,导致升级时目录检查不通过,我印象中有一个ignore的参数可以忽略检查,就是修改meta,yaml文件,但是不知道具体是啥了,之前是另外一个人维护的,没有留下记录
【背景】做过哪些操作
【现象】业务和数据库现象
【业务影响】
【TiDB 版本】
V3.0.18
【附件】
-
TiUP Cluster Display 信息
-
TiUP Cluster Edit Config 信息
-
TiDB- Overview 监控
苏州刘三枪
2
没太明白你的意思,这是我之前升级 3.0 到 4.0 的操作步骤,你参考一下。
3.1 安装 TiUP
(1) 在中控机上执行如下命令安装 TiUP
curl --proto ‘=https’ --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
(2) 重新声明全局环境变量
source .bash_profile
(3) 确认 TiUP 工具是否安装
which tiup
(4) 安装 TiUP 的 cluster 工具
tiup cluster
3.2 导入配置信息
(1) 检查SSH是否正常
通过SSH连接所有节点,包括中控机本身。 检查验证通过
(2) 将 TiDB Ansible 集群导入到 TiUP 中
tiup cluster import -d /home/tidb/tidb-ansible
(3) 验证是否导入成功
tiup cluster display qcc-tidb-cluster
(4) 注释ansible-imported-configs 目录下两个tidb配置文件的部分参数
~/.tiup/storage/cluster/clusters/dev-cluster/ansible-imported-configs
#log-rotate = true
#max-txn-time-use = 3600
#[txn-local-latches]
#capacity = 2048000
#enabled = false
#ttl = “30s”
PS:如果不修改以上配置,将会升级报错。
【升级报错】config file /data/tidata/conf/tidb.toml contained unknown configuration options:
【解决办法】 [FAQ] TiDB-Ansible 导入 TiUP 环境,TiDB v3.x 升级到 v4.x,参数不兼容 或者 edit-config 调整参数 reload 不生效问题
注释 ~/.tiup/storage/cluster/clusters/qcc-zh-dev-cluster/ansible-imported-configs 下的 tidb.toml 相关配置(注:这里是报错信息相关的配置),重新启动 upgrade 任务.
【问题原因】tidb 3.x 版本参数在 4.x 版本取消,导致集群升级失败。
(5) 编辑 TiUP 拓扑配置文件
注意:以下情况可跳过该步骤:
² 原集群没有修改过配置参数。
² 升级后希望使用 4.0 默认参数。
进入 TiDB Ansible 的备份目录 ~/.tiup/storage/cluster/clusters/{cluster_name}/config,确认配置模板中修改过的参数。
进入vi 编辑模式:
tiup cluster edit-config qcc-tidb-cluster
3.4 开始升级
升级前开启一个 screen
(1) 升级命令
tiup cluster upgrade qcc-tidb-cluster v4.0.6 --transfer-timeout 100000000
–force ,如果指定此参数,升级时会跳过 PD transfer leader 和 TiKV evict leader 过程,直接重启并升级版本,对线上运行的集群影响较大。
–transfer-timeout, 滚动升级会逐个升级所有的组件。升级 TiKV 期间,会逐个将 TiKV 上的所有 leader 切走再停止该 TiKV 实例。默认超时时间为 5 分钟,超过后会直接停止实例。
如果不希望驱逐 leader,而希望立刻升级,可以在上述命令中指定 --force,该方式会造成性能抖动,不会造成数据损失。
如果希望保持性能稳定,则需要保证 TiKV 上的所有 leader 驱逐完成后再停止该 TiKV 实例,可以指定 --transfer-timeout 为一个超大值,如 --transfer-timeout 100000000,单位为 s。
升级顺序:
-
PD→TiKV→Pump→TiDB→TiFlash→Prometheus→Grafana→AlertManager
-
启动 NodeExporter 和 BlackboxExporter 服务
(2) 升级后验证集群,重要,检查各组件是否升级成功
tiup cluster display qcc-tidb-cluster
(3) 升级其他组件
将 {version} 替换为 v4.0.15
https://download.pingcap.org/tidb-{version}-linux-amd64.tar.gz
下载完解压后,直接替换原有工具即可。
1 个赞
system
(system)
关闭
5
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。