一、背景与环境描述
在客户现场是多套tidb集群混合部署在相同的机器上,数据库版本是tidb3通过ansible部署,多套tidb、tikv部署在相同机器。集群配置如下
如上所示,三套业务系统A、B、C,都是部署在61、62、63的相同节点,这样每个集群收集监控信息通过inventory.ini文件中的node_exporter_port进行区分。
因需要通过tiup升级到tidb4版本,对原数据库的问题进行修复与升级,发现将inventory.ini导入到tiup后,通过tiup cluster edit-config clustername 编辑node_exporter_port失败。这样三套业务系统升级后会出现node_exporter端口冲突情况。
二、操作步骤,修改tidb 4集群的node_export端口
2.1 升级前环境模拟
修改inventory.ini文件如下,进行部署tidb3的集群
部署完成后检查node_export端口
2.2 升级tidb
使用tiup导入inventory
[tidb@db01 ~]$ tiup cluster import -d /home/tidb/tidb-ansible --no-backup
导入后检查
直接做升级 tiup cluster upgrade,升级完数据库后关闭集群,修改配置文件。
2.3 修改meta.yml文件
升级完成后,进入备份目录/.tiup/storage/cluster/clusters/{cluster_name}/,编辑meta.yaml文件,修改node_exporter端口地址
Meta.yaml文件编辑后,通过edit-config可以看到文件已修改
2.4 修改systemctl启动脚本
- 修改node_exporter端口
meta.yaml集群文件修改完成后,然后到/etc/systemd/system目录下复制node_export-xxx.service,文件名字指定正确的端口号,并修改文件内容。
修改${deploy_dir}/script/run_node_exporter.sh和stop_node_exporter.sh文件内容为正确的端口号。
- 修改blackbox_exporter端口
meta.yaml集群文件修改完成后,然后到/etc/systemd/system目录下复制blackbox_exporter-xxx.service,文件名字指定正确的端口号,并修改文件内容。
修改${deploy_dir}/script/run_blackbox_exporter.sh和stop_blackbox_exporter.sh文件内容为正确的端口号。
2.5 重新加载unit配置文件
[root@db01 system]# systemctl daemon-reload
2.6 启停tidb集群验证
[tidb@db01 system]$ tiup cluster start cluster-name
[tidb@db01 system]$ tiup cluster stop cluster-name
2.7 监控信息验证
监控正常,端口修改成功