背景:原先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 *
參考自: Nginx不停機優雅公升級
最近線上執行的遊戲越來越多,雲服務商也給我推送提示系統公升級,漏洞補丁公升級,也有nginx更新的。有一些比較關鍵性的系統補丁需要立即更新處理,有一些可以換一換不用公升級,但此nginx公升級的需求比較迫切,但更新可能需要重啟nginx。這將會影響到我們這樣的乙個登入業務邏輯 如果暴力熱更新公升級n...
43 如何把系統不停機遷移到分庫分表的?
1 面試題 現在有乙個未分庫分表的系統,未來要分庫分表,如何設計才可以讓系統從未分庫分表動態切換到分庫分表上?2 面試官心裡分析 你看看,你現在已經明白為啥要分庫分表了,你也知道常用的分庫分表中介軟體了,你也設計好你們如何分庫分表的方案了 水平拆分 垂直拆分 分表 那問題來了,你接下來該怎麼把你那個...
面試官 如何做到不停機分庫分表遷移?
類似訂單表,使用者表這種未來規模上億甚至上十億百億的海量資料表,在專案初期為了快速上線,一般只是單錶設計,不需要考慮分庫分表。隨著業務的發展,單錶容量超過千萬甚至達到億級別以上,這時候就需要考慮分庫分表這個問題了,而不停機分庫分表遷移,這應該是分庫分表最基本的需求,畢竟網際網路專案不可能掛個廣告牌 ...