從 Milvus 2.3.x
本指南提供從 Milvus 2.3.x 遷移資料到 Milvus 2.3.x 或更高版本的全面、逐步過程。
先決條件
- 軟體版本:
- 源 Milvus: 2.3.0+ (工具使用迭代器來取得源收集資料,要求源 Milvus 為 2.3.0 或以上版本。)
- 目標 Milvus: 2.3.0+
- 所需的工具:
- Milvus-migration工具。安裝細節請參考安裝遷移工具。
- 資料準備:
- 確保源 Milvus 套件已載入,並為資料匯出做好準備。
- 如果目標 Milvus 沒有包含與源集合相對應的集合,milvus-migration工具會自動建立它。請注意,在遷移之後,目標資料集將不會被編制索引,您必須在之後手動編制資料集索引。
設定遷移檔案
將範例的遷移設定檔儲存為migration.yaml
,並根據您的實際情況修改設定。您可以自由地將設定檔放在任何本機目錄中。
dumper:
worker:
workMode: milvus2x
reader:
bufferSize: 500
meta:
mode: config
version: 2.3.0
collection: src_table_name
source:
milvus2x:
endpoint: {milvus2x_domain}:{milvus2x_port}
username: xxxx
password: xxxxx
target:
milvus2x:
endpoint: {milvus2x_domain}:{milvus2x_port}
username: xxxx
password: xxxxx
下表描述了示例配置文件中的參數。如需更多資訊,請參考Milvus Migration:Milvus2.x 到 Milvus2.x。
dumper
參數 說明 dumper.worker.workMode
遷移工作的作業模式。從 Milvus 2.x 遷移時設定為 milvus2x。 dumper.worker.reader.bufferSize
每批從 Milvus 2.x 讀取的緩衝區大小。 meta
參數 說明 meta.mode
指定讀取元檔案的位置。設定為 config,表示可以從這個 migration.yaml 檔案取得 meta config。 meta.version
來源 Milvus 版本。設定為 2.3.0 或以上。 meta.collection
來源集合名稱。 source
參數 說明 source.milvus2x.endpoint
來源 Milvus 伺服器的位址。 source.milvus2x.username
來源 Milvus 伺服器的使用者名稱。如果您的 Milvus 伺服器啟用使用者驗證,則必須使用此參數。如需詳細資訊,請參閱啟用驗證。 source.milvus2x.password
來源 Milvus 伺服器的密碼。如果您的 Milvus 伺服器啟用使用者驗證,則必須使用此參數。如需詳細資訊,請參閱啟用驗證。 target
參數 說明 target.milvus2x.endpoint
目標 Milvus 伺服器的位址。 target.milvus2x.username
目標 Milvus 伺服器的使用者名稱。如果您的 Milvus 伺服器啟用使用者驗證,則必須使用此參數。如需詳細資訊,請參閱啟用驗證。 target.milvus2x.password
目標 Milvus 伺服器的密碼。如果您的 Milvus 伺服器啟用使用者驗證,則必須使用此參數。如需更多資訊,請參閱啟用驗證。
開始遷移工作
您有兩個選項來啟動遷移工作 - 使用 CLI 或提出 API 請求。選擇最適合您需求的一個。
選項 1:使用 CLI
使用下列指令啟動轉移工作。將{YourConfigFilePath}
改為配置檔案migration.yaml
所在的本機目錄。
./milvus-migration start --config=/{YourConfigFilePath}/migration.yaml
監控日誌的進度更新。成功的遷移記錄應包括以下項目:
[INFO] [migration/milvus2x_starter.go:79] ["=================>JobProcess!"] [Percent=100]
[INFO] [migration/milvus2x_starter.go:27] ["[Starter] migration Milvus2x to Milvus2x finish!!!"] [Cost=94.877717375]
[INFO] [starter/starter.go:109] ["[Starter] Migration Success!"] [Cost=94.878243583]
選項 2:提出 API 請求
您也可以使用 Restful API 來執行遷移。啟動 API 伺服器:
./milvus-migration server run -p 8080
伺服器成功啟動後,將migration.yaml
檔案放置在專案的configs/
目錄中,並使用: 開始遷移:
curl -XPOST http://localhost:8080/api/v1/start
驗證結果
遷移任務完成後,使用 Attu 檢視已遷移的實體數量。此外,您可以在 Attu 中建立索引和載入集合。如需詳細資訊,請參閱Attu和get_collection_stats()。
其他配置選項
除了上述的基本設定外,您也可以根據您的特定需求,新增額外的設定。
選擇性欄位遷移:如果您需要僅遷移集合中的特定欄位,而非所有欄位,請在
migration.yaml
檔案的meta
部分指定要遷移的欄位。meta: fields: - name: id - name: title_vector - name: reading_time
自訂目標集合:若要自訂目標集合的屬性,請在
migration.yaml
檔案的meta
區段中加入相關設定。meta: milvus: collection: target_collection_name shardNum: 2 closeDynamicField: false consistencyLevel: Customized