做网站去什么公司,网站建设的技术支持论文,wordpress 读取数据的地方,常州网站建设公司咨询作者#xff1a; foxchan 原文来源#xff1a; https://tidb.net/blog/6e628afd 为什么要升级#xff1f; 本次升级7.5的目的如下#xff1a; 1、tidb有太多的分区表需要归档整理。7.5版本这个功能GA了。 2、之前集群tikv节点的region迁移过慢#xff0c;影响tikv节… 作者 foxchan 原文来源 https://tidb.net/blog/6e628afd 为什么要升级 本次升级7.5的目的如下 1、tidb有太多的分区表需要归档整理。7.5版本这个功能GA了。 2、之前集群tikv节点的region迁移过慢影响tikv节点迁移的效率现在region的迁移速度显著提升。 3、tidb分布式执行框架功能GA了对于大表的索引创建速度有了显著提升。 升级步骤 不同于官方的升级方式我是通过自己写k8s pod 来实现的部署。 为什么 1、因为资源有限我并没有另一套集群来做cdc 同步。 2、毕竟跨2个大版本tidb的底层数据结构都进行了大的变化。 所以自己通过脚本来实现集群的升级保证每个步骤都是可控的。当然也是相信tidb的健壮性不会因为升级失败导致集群不可用。 升级过程 整体升级流程和tiup的流程一致 tiflash – pd – tikv – tidb – ticdc tiflash 滚动升级 TiDBMPP 功能打开 第一步关闭 TiDB MPP 功能在 TiDB 中运行 set global.tidb_allow_mpp0滚动重启所有 TiDB 节点因为 global 变量的设置需要在新的 session 中生效如果不滚动重启 TiDB 的话现有的 session 仍然会生成 MPP 计划 第二步正常升级集群 第三步重新开启 TiDB MPP 功能在 TiDB 中运行 set global.tidb_allow_mpp1; 并滚动重启所有 TiDB 节点 tikv滚动升级 将需要升级的tikv leader进行驱逐在驱逐后升级image待状态正常后恢复leader pd-ctl -u http://192.168.7.25:2479 scheduler add evict-leader-scheduler 1 pd-ctl -u http://192.168.7.25:2479 scheduler remove evict-leader-scheduler 升级带来的好处 1、tiflash cpu消耗明显减少如图所示cpu使用减少了一半 2、集群很稳定如果不是追求新功能和修复bug可以一直运行。如图这个集群平稳度过618活动让小伙伴们安心过节 升级遇到的问题 遇到的最大问题是代价模型的改变 每次跨大版本升级都要注意这个 以前的SQL执行计划从tiflash改到了tikv导致性能急剧下降问题情况和解决方案具体可参考 https://asktug.com/t/topic/1025244/1 这里把我升级遇到的问题列出来当然这些都已经解决了。 tiflash 7.5.1 cpu负载不均衡 原因 tiflash 的 region 只会在 store 级别均衡也就是每个 store 的 region 总数平均。但每个 table 在各个 store 的 region 数量不一定平均。 tidb7.5.1:部分分区健康度一直是0drop stats 和手动analyze也不行 原因属于bugtidb内存更新失败需要定期重启tidb。 tiflash 7.5.2 rename table 到其他database会崩溃 原因属于bug已于7.5.3修复 处理ddl假死 处理方式 在 v6.5.0 及之后的版本中TiDB 默认开启元数据锁特性。当集群从 v6.5.0 之前的版本升级到 v6.5.0 及之后的版本时TiDB 会自动开启元数据锁功能。 新版本引入了 mysql.tidb_mdl_view 视图可以用于查看当前阻塞的 DDL 的相关信息 SELECT * FROM mysql.tidb_mdl_view 从上面的输出结果中了解到有一个 SESSION ID事务阻塞了该添加索引 DDL 的执行通过KILL 命令中止 SESSION ID 的事务 cdc的升级 cdc从6.5才开始支持滚动升级尤其是从6往7升级要注意changefeed的写法也发生了改变。 每次升级cdc都要看这个文档来确认cdc的版本兼容性。 所以你要是想通过cdc往低版本或者高版本的tidb集群同步数据都要看这个文档哦 https://github.com/pingcap/tiflow/blob/master/pkg/version/check.go 参数修改 每次升级都有一些参数需要修改来匹配新版本的特性 #优化器选择优化 SET GLOBAL tidb_cost_model_version 2 #统计信息优化 SET GLOBAL tidb_enable_async_merge_global_statson SET GLOBAL tidb_merge_partition_stats_concurrency2 总结 1、如果没有特别的需求可以使用比官方低一个版本的release。比如最新的GA是8.1那么生产环境最高是7.5。 2、升级的版本建议是版本号第三位及以后。比如你要升级7.5建议等到7.5.3之后再升级。