元數據遷移是指將自建Kafka集群的元數據遷移到云消息隊列 Kafka 版實例。您可以將自建Kafka集群元數據導出,然后導入云消息隊列 Kafka 版實例,云消息隊列 Kafka 版會根據成功導入的元數據在目標云消息隊列 Kafka 版實例中創建對應的Topic和Group,實現自建Kafka集群元數據遷移上云。
前提條件
當自建Kafka集群遷移上云時,你需要評估待遷移自建Kafka集群的信息,如集群流量情況、磁盤容量和類型、分區數量等,以便您選購合適的實例規格,云消息隊列 Kafka 版提供規格評估功能,詳情請參見評估規格。
為了更準確的獲取執行機器的配置,推薦您提前安裝Tsar軟件。您也可以在運行遷移工具時通過指定
--installTsar
參數自動安裝Tsar軟件,但自動安裝比較耗時,也有可能因為環境差異, 導致安裝失敗。
本文中所用的遷移工具暫不支持Serverless實例。
背景信息
Kafka集群元數據是指Kafka集群的Topic和Group配置信息。Kafka集群元數據存儲于ZooKeeper上,Kafka集群各個節點從ZooKeeper中獲取最新的元數據。因此,集群的各個節點的元數據被導出時都是最新且相同的。Kafka集群元數據可以被導出成一份JSON文件,然后被導入另一個Kafka集群,實現自建Kafka集群元數據備份。
步驟一:導出元數據
使用元數據導出工具導出自建Kafka集群的元數據文件。
訪問kafka-migration-assessment.jar下載元數據導出工具。
將下載好的遷移工具上傳至自建Kafka集群。
在工具所在目錄運行以下命令,賦予JAR包可執行權限。
chmod 777 kafka-migration-assessment.jar
運行以下命令,導出元數據。
java -jar kafka-migration-assessment.jar MigrationFromZk \ --sourceZkConnect <host:port> \ --sourceBootstrapServers <host:port> \ --targetDirectory ../xxx/ \ --fileName metadata.json \ --commit
參數
說明
示例
sourceZkConnect
自建Kafka集群的ZooKeeper IP地址和端口號。如果不指定該參數,則自動獲取。
192.168.XX.XX:2181
sourceBootstrapServers
自建Kafka集群的IP地址和端口號。如果不指定,則自動獲取。
192.168.XX.XX:9092
targetDirectory
導出元數據文件的存放目錄。如果不指定該參數,則默認為當前目錄。
../home/
fileName
導出元數據的文件名。如果不指定該參數,則文件名稱默認為:kafka-metadata-export.json。
metadata.json
commit
提交運行。
commit
installTsar
是否自動安裝Tsar。默認不自動安裝Tsar。
安裝Tsar可以更加準確的獲取當前機器規格、近期存儲情況、流量、Kafka集群配置信息,但自動安裝比較耗時,也有可能因為環境差異,導致安裝失敗。
無
evaluate
是否獲取當前機器規格、近期存儲情況、流量、Kafka集群配置信息,在遷移時根據獲取的信息進行評估,推薦您購買規格更合適的云消息隊列 Kafka 版實例。
默認為true,即默認獲取以進行規格評估,如果不需要評估,則需設置為false。
無
文件存放目錄下生成JSON文件,導出元數據成功。
在配置的文件存放目錄下可以看到導出的元數據文件,下載保存至本地。
步驟二:創建元數據導入任務
創建任務
在概覽頁面的資源分布區域,選擇地域。
在左側導航欄,單擊遷移。
在遷移頁面,單擊元數據導入頁簽,然后單擊創建任務。
在創建導入元數據任務面板,編輯以下參數,單擊創建。
在創建任務頁簽,設置任務名稱和目標實例,上傳步驟一:導出元數據中獲取的元數據文件。
在編輯 Topic頁簽,您可以對即將遷移上云的Topic和Group執行以下操作:
新增Topic:單擊新增Topic,填寫Topic的名稱、描述、分區數、消息類型。
編輯Topic:單擊右側操作列的編輯,修改Topic的描述、分區數、消息類型和日志清理策略。
刪除Topic:單擊右側操作列的刪除,在提示對話框中單擊確認。
在編輯 Group頁簽,您可以執行以下操作:
新增Group:單擊新增Group,填寫Group ID和描述。
編輯Group:單擊右側操作列的編輯,修改Group的描述。
刪除Group:單擊右側操作列的刪除,在提示對話框中單擊確認。
查看遷移進度
創建完成后,在遷移頁面的元數據導入頁簽可查看目標任務的Topic 遷移進度和Group 遷移進度,單擊右側操作列的詳情查看詳細信息。
元數據遷移大概持續30分鐘,待遷移完成后,即可開始使用遷移上云的Topic和Group。
步驟三:驗證遷移結果
在實例列表頁面,單擊目標實例名稱。
查看資源列表。
在左側導航欄,單擊Topic 管理,在Topic 管理頁面的Topic列表中查看已創建的Topic。
在左側導航欄,單擊Group 管理,在Group 管理頁面的Group列表中查看已創建的Group。
步驟四:刪除遷移任務
在遷移頁面的元數據導入頁簽,找到待刪除的目標任務,在其右側操作列,單擊刪除。
后續操作
自建Kafka集群遷移上云后,請檢查客戶端實例接入點是否需要更新,詳情請參見查看接入點。