2016-07-18 15 views
0

實時數據遷移從Tokumx 2.0至PSMDB(Percona的服務器有關的MongoDB 3.0)實時數據遷移從Tokumx 2.0到的Percona服務器對於MongoDB的3.0具有零個或最短的停機時間(PSMDB)

=======

我做實時數據遷移從Tokumx 2.0 replicaset集羣的Percona服務器使用下列指南MongoDB的3.0規定的以下鏈接: 訪問https://github.com/dbpercona/tokumx2_to_psmdb3_migration/blob/master/ZeroDowntimeMigration.md#catchup

本文介紹瞭如何從源TokuMX 2.x的服務器遷移用於MongoDB 3.x的目標Percona服務器(PSMDB),其功能從零到最小化wntime。在遷移過程需要以下階段:

快照 - 時點源備份 轉儲 - 轉換源備份到BSON 還原 - 負載BSON到靶 CATCHUP - 從源播放操作日誌靶向 開關 - 重新配置應用層使用目標

oplog sync的追趕階段命令。 ./bin/toku2mongo --from localhost:27017 --gtid 4:35 --host mongoprodcluster1a:37017 2> & 1 |三通./toku2mongo.out &

給出錯誤:

connected to: mongoprodcluster1a:37017 Sat Jul 16 11:57:31.655 [toku2mongo] ERROR: error replaying command op { op: "c", ns: "cases.$cmd", o: { beginLoad: 1, ns: "cases", indexes: {}, options: {} } }: { ok: 0.0, errmsg: "no such command: beginLoad", code: 59, bad cmd: { beginLoad: 1, ns: "cases", indexes: {}, options: {} } } Sat Jul 16 11:57:31.655 [toku2mongo] Exiting while processing GTID 4:35 Sat Jul 16 11:57:31.655 [toku2mongo] Use --gtid=4:35 to resume. Sat Jul 16 11:57:31.655 [toku2mongo] Saved GTID to file /mnt/tokumx-bkup/toku2mongo-2.0.2-el6-x86_64/toku2mongo_saved_timestamp. Sat Jul 16 11:57:31.655 [toku2mongo] I'll automatically use this value next time if you run from this directory and don't pass --gtid.

任何幫助表示讚賞。謝謝

回答

0

這是由於TokuMX 2.x端執行的自定義命令,Percona服務器不支持MongoDB(3.x)。在追趕階段,您的應用程序正在執行該命令。這導致了你所看到的錯誤。

該命令在正在執行的應用是被記錄here

開始遷移處理前的db.runCommand({ 'beginLoad' : [ 'coll1' , ... ] })命令。確保應用程序不實施Percona Server for MongoDB(3.x)不支持的任何自定義TokuMX 2.x功能是非常重要的。這包括事務命令以及批量加載命令。

確保這一點的最佳方式是在開始遷移過程之前,在草稿環境中使用Percona Server for MongoDB對應用程序功能進行全面覆蓋測試。

+0

我檢查了Tokumx 2.x,並在其中找到了BeginLoad和Transactions命令。然而,我還沒有在Percona服務器中爲mongodb 3.x找到BeginLoad和Transaction命令。現在,如果是這種情況,有什麼建議?我們是否需要重新配置TokuMX或在Percona服務器中添加一些用於mongodb 3.x的內容或需要更新toku2mongo腳本?或者遷移是不可能的? – gahmed

+0

嗨gahmed,應用程序將需要修改,以消除批量加載和交易。用於MongoDB的Percona服務器遵循上游MongoDB 3.x源代碼,該代碼使用樂觀併發並且不能支持複雜事務。 TokuMX是對支持事務的MongoDB 2.x存儲邏輯的低級重寫。然而,TokuMX沒有足夠的商業興趣繼續發展。 –

+0

非常感謝您的詳細答覆。我的腦海中仍然有幾個問題。修改TokuMX以刪除批量加載和交易是否是一個簡單的過程?我們是否需要停機修改? – gahmed

相關問題