influxdb不停机迁移扩容

背景:原先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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章