🚀 免費嘗試 Zilliz Cloud,完全托管的 Milvus,體驗速度提升 10 倍!立即嘗試

milvus-logo
LFAI
主頁

從 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 套件已載入,並為資料匯出做好準備。
    • 如果目標 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 中建立索引和載入集合。如需詳細資訊,請參閱Attuget_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
    

詳細資訊請參考Milvus Migration:Milvus2.x 至 Milvus2.x

免費嘗試托管的 Milvus

Zilliz Cloud 無縫接入,由 Milvus 提供動力,速度提升 10 倍。

開始使用
反饋

這個頁面有幫助嗎?