写点什么

TiDB 监控节点扩缩容操作(是否保留历史数据)

  • 2022 年 9 月 09 日
    北京
  • 本文字数:2224 字

    阅读完需:约 7 分钟

作者: Liuhaoao 原文来源:https://tidb.net/blog/adb8242d

最近在扒官方文档的时候,发现只有扩缩容 tikv/pd/tidb/tiflash/ticdc 的步骤,并没有讲扩缩容 Prometheus/alertmanger/grafana 的操作步骤,就想到凭借自己的经验写一篇文章出来,供大家参考。由于本人学识浅薄,难免会有疏漏或错误的地方,还望各位路过的大佬不吝赐教 (抱拳!)

 

缩容监控节点,会涉及到一个问题:是否保留监控数据。至于监控数据存存放位置、怎么保留这部分内容我先单独拿出来讲讲,以防后续在看具体操作步骤的时候会有很凌乱的感觉。

1、监控数据存放位置查看方法:

数据存放位置(因为我集群是默认部署,所以存放位置也是默认位置。如果自定义部署目录的话,数据存放位置也会变,不同的集群会有很大的区别,所以这里主要是讲方法):


1.1、查看 Prometheus 部署路径:


tiup cluster display test1
复制代码


 ![image.png](https://tidb-blog.oss-cn-beijing.aliyuncs.com/media/image-1662302493762.png)
复制代码


1.2、进入 Prometheus 部署目录,可以看到一个 scripts 目录,存放了 Prometheus 启动脚本:


cd /tidb-deploy/prometheus-9090/
复制代码



1.3、查看脚本,可以看到其中有 –storage.tsdb.path 这一项,对应的目录就是监控数据存放地址:


cat run_prometheus.sh
复制代码



还有一种方法也可以查看监控历史数据存放位置:

在进程中查看


ps -ef |grep prometheus|grep "storage.tsdb.path"
复制代码


对应目录为监控历史数据存放位置



2、备份历史数据

2.1、进入该目录(这一步也是决定缩容监控节点后历史监控数据是否保留的操作),备份历史监控数据:


cd /tidb-data/prometheus-9090/
复制代码



2.2、因历史数据量较大(默认保留 30 天的历史数据:–storage.tsdb.retention=“30d”,因为我的测试集群新搭建不久,也没什么数据量,所以数据并不是很多),所以进行压缩:


tar -zcvf prometheus-9090.tar.gz prometheus-9090/
复制代码



2.3、将压缩文件拷贝到备份目录,至此完成 Prometheus 历史数据备份:


mv prometheus-9090.tar.gz /root/backup/
复制代码



-————————————————————– 割 ————————————————————-


上边完成了 Prometheus 历史数据存放位置及备份的讲解,接下来就该进入正题:缩容监控节点操作

1、查看集群现有节点,确认需要缩容节点(自己部署用于测试的小集群,受限于硬件资源,只能单节点部署):


tiup cluster display test1
复制代码



2、确认需缩容的节点信息:


172.21.0.8:9093、172.21.0.8:3000、172.21.0.8:9090 三个节点



3、缩容前备份数据(参考文章开头的操作步骤)(如无需保留历史数据,则忽略这一步操作)


4、执行缩容操作:


tiup cluster scale-in test1 -N 172.21.0.8:9093,172.21.0.8:3000,172.21.0.8:9090
复制代码



5、查看缩容后集群节点信息,尝试访问 grafana,确认缩容符合预期:


tiup cluster display test1
复制代码



可以看到集群中现在只有 tidb、tikv、pd 节点,监控节点已经缩容掉


尝试访问 grafana:



可以看到 grafana 已经无法访问,至此缩容操作完成


-————————————————————– 割 ————————————————————-


至于扩容集群监控节点,与其他扩容操作步骤类似,区别就在于多了导入监控数据这一步

 

扩容集群监控节点:


1、编辑扩容文件:


vim scale.yaml
复制代码



monitoring_servers: - host: 172.21.0.8 ssh_port: 22 port: 9090 deploy_dir: "/tidb-deploy/prometheus-8249" data_dir: "/tidb-data/prometheus-8249" log_dir: "/tidb-deploy/prometheus-8249/log" grafana_servers: - host: 172.21.0.8 port: 3000 deploy_dir: /tidb-deploy/grafana-3000 alertmanager_servers: - host: 172.21.0.8 ssh_port: 22 web_port: 9093 cluster_port: 9094 deploy_dir: "/tidb-deploy/alertmanager-9093" data_dir: "/tidb-data/alertmanager-9093" log_dir: "/tidb-deploy/alertmanager-9093/log"

复制代码



2、执行扩容命令:


tiup cluster scale-out test1 scale.yaml
复制代码




3、扩容已经完成,查看集群扩容后节点信息:



监控节点已扩容完成


尝试访问 grafana:


grafana 已经能够访问,但是只有集群监控节点扩容完成后的监控数据,并没有历史监控数据,这时候就需要我们文章开头备份的集群历史监控数据了

4、将备份的集群历史数据导入新部署的集群监控:


因为我们只需要集群的历史数据,所以将备份中历史数据文件导入新集群的监控数据存放目录即可


4.1、将备份历史数据解压缩:


tar -xvf prometheus-9090.tar.gz
复制代码



4.2、将数据文件拷贝到新集群的监控数据存放目录


cp 01G* /tidb-data/prometheus-8249/
复制代码



5、reload 集群,使新集群加载导入的历史数据文件


tiup cluster reload test1
复制代码



6、尝试访问 grafana 监控,时间选择 7day,检验历史数据文件导入是否生效



历史数据导入成功,至此扩容集群监控节点及历史数据导入完成


回顾整个缩容过程,最容易出现问题的步骤就是不会考虑到保留历史数据,这一步其实是很重要重要的,比如说集群需要调整 new_collations_enabled_on_first_bootstrap 这个参数,只能考虑重新部署集群(version<=6.0),这时候就需要在销毁集群前将历史监控数据备份,集群重新部署完成后将历史监控数据再恢复,如果没有备份历史监控数据,就可能会有问题。就备份历史数据而言,其实操作起来很容易,只需将数据备份,导入到监控数据存放目录,然后 reload 即可。


以上就是缩容监控节点及历史监控数据备份恢复的操作步骤,希望对大家有所帮助。


发布于: 刚刚阅读数: 5
用户头像

TiDB 社区官网:https://tidb.net/ 2021.12.15 加入

TiDB 社区干货传送门是由 TiDB 社区中布道师组委会自发组织的 TiDB 社区优质内容对外宣布的栏目,旨在加深 TiDBer 之间的交流和学习。一起构建有爱、互助、共创共建的 TiDB 社区 https://tidb.net/

评论

发布
暂无评论
TiDB监控节点扩缩容操作(是否保留历史数据)_监控_TiDB 社区干货传送门_InfoQ写作社区