influxdb不停机迁移扩容

mac2025-02-14  10

背景:原先influxdb1.6.4只有一台服务器,现在需要扩容到三台

总的步骤:

1.将数据库通过备份还原到另外两台服务器

2.修改数据库代理 influxdb relay 将数据写入三台服务器

3. 补齐迁移期间丢失的数据

详细步骤

1.在原来的服务器上备份所有数据库:influxd backup -host 127.0.0.1:8088 -portable /tmp/data/

   备份完成后将数据压缩(zip data.zip ./data/*),然后传输到另外两台服务器,解压缩(unzip data.zip)

   还原所有数据库: influxd restore -portable /tmp/data/ ,在还原的时候可能因为数据库绑定ip的原因,需要添加参数命令-host

2.修改数据库代理,将最新的数据写入三台服务器

3.新的两台服务器会缺失一部分数据(从开始备份还原到修改代理写入数据),这部分数据通过指定时间段备份还原的方式将数据补上,示例:

备份指定时间段的数据(时间段为缺失数据的那部分时间间隔,可以比缺失的时间间隔略微大一点,还原的时候如果数据重复,会将重复数据覆盖)

原服务器上执行:

influxd backup -portable -host 127.0.0.1:8088 -database test -start 2019-12-17T5:30:00Z -end 2019-12-17T6:05:00Z /tmp/data/test/

新服务器上执行:

因为通过第一步,新的服务器上已经存在test数据库,所以此次备份将数据还原到test_bk数据库 influxd restore -portable -host 127.0.0.1:8088 -db test -newdb test_bk /tmp/data/test 登录influx, 切换到test_bk数据库,详细操作如下: # influx > use test_bk > SELECT * INTO test..:MEASUREMENT FROM /.*/ GROUP BY * //如果上述操作提示元信息已经存在,可以执行保留策略备份 //influxd restore -portable -host 127.0.0.1:8088 -db test -newdb test_bk -rp rp_6_month -newrp rp_6_month /tmp/data/test //SELECT * INTO test.rp_6_month.:MEASUREMENT FROM /test_bk.rp_6_month.*/ GROUP BY *

 

参考自:https://www.cnblogs.com/yihuihui/p/9379214.html

 

 

最新回复(0)