本文介紹批量助手功能的使用流程,幫助您快速掌握如何使用割接計劃功能進行遷移后的割接驗證。
支持產品以及驗證方法
支持的產品 | Count | TopN | SumX | CheckSum |
MySQL | 獲取Table的row數量 | 獲取Table的前n個row并比較 | 獲取Table的指定字段的和 | 獲取Table的校驗和 |
Redis | 給定key, 對value利用其size做校驗。 | 給定key, 對value中的N個屬性做比較 | 抽樣/選定一定數量(100)個key,比較源端和目標端的value | 暫不支持 |
MongoDB | 獲取Collection的document數量 | 獲取Collection的前n個document并比較 | 獲取Collection的指定字段的和 | 暫不支持 |
ElasticSearch | 獲取Index中的document數量 | 獲取Index的前n個document并比較 | 暫不支持 | 暫不支持 |
Redis有序結構利用topN做抽樣校驗,無序結構用Size做比較。
1. 啟動Agent
在云遷移中心頁面,依次點擊割接->割接驗證進入產品界面,首次進入會看到Agent在線狀態是離線的,因此需要先將Agent在服務器上啟動。
1.1 申請License
首次使用或License過期時需要申請License,點擊申請License按鈕即可。
之后,可以在彈窗中對License進行復制。
完成后可以看到License的有效時間,若過期再次點擊即可。
1.2 下載工具包
點擊下載Agent工具包,解壓后得到三個文件
其中agent.jar是運行的jar包,datasource.config是數據源相關配置,start.sh是啟動腳本。
1.3 修改數據源配置參數
首先需要打開datasource.config,修改數據源配置:
第一行為源端的相關信息。第二行為目標端的相關信息。每一行共有6個配置項,以英文逗號(,)分隔,其中:
name:數據源的名字,可以自定義去配置,需要保證名字唯一,會在控制臺進行展示和選擇。
type:數據源的類型,當前僅支持MySQL、Redis、MongoDB、ES(區分大小寫)。填寫內容參考下面的數據源枚舉值。
host:連接的IP地址,用戶根據不同的數據源去做不同的配置。
port:端口號。
username:用戶名。Redis若沒有用戶名則可以不填寫,需要置為空,不可省略該項。
password:密碼。
數據源type枚舉值:
支持的數據源類型 | MySQL | Redis | MongoDB | ElasticSearch |
配置文件中對應的type | MySQL | Redis | MongoDB | ES |
1.4 修改腳本
配置好數據源相關的信息之后,需要修改啟動腳本start.sh:
java -jar agent.jar
--agent.config_file=datasource.config
--agent.hostPublicAddress=hostPublicAddress
--agent.hostPrivateAddress=hostPrivateAddress
--agent.license=yourLicense
--access_key=your_access_key
--secret_key=your_secret_key
--endpoint=apds.cn-hangzhou.aliyuncs.com
--server_port=your_port
--region=cn-hangzhou
其中:
agent.config_file:配置的是1.2中的數據源配置文件。
agent.hostPublicAddress:公網模式配置的是能夠直接進行訪問的地址,當前僅支持HTTP請求,且包含端口號(格式為:http://111.111.XXX.XXX:8086,這里的端口號要與server_port配置的端口號保持一致)。私網連接模式下,該地址可以為空,但是不能刪除該配置項(即保留"--agent.hostPublicAddress= "即可)。
Agent所在的ECS安全組打開端口入方向,來源限制出口IP見產品界面管控操作提示。
通過SLB或WAF轉發方式暴露到公網。
agent.hostPrivateAddress:私網模式地址。在私網連接模式下,agent部署的私網地址,當前僅支持HTTP請求,且包含端口號(格式為:http://192.0.168.XXX:8086,這里的端口號要與server_port配置的端口號保持一致)。在公網連接模式下可以為空,但是不能刪除該配置項(即保留"--agent.hostPrivateAddress= "即可)。
agent.license:用戶在CMH控制臺看到的與CMH交互的license憑證。注意,這里的配置必須與在CMH控制臺查看的保持一致,否則校驗不通過,會導致功能無法正常使用。
access_key:用戶阿里云賬號的AK,需要授權CMH的fullaccess權限策略(AliyunAPDSFullAccess)。
secret_key:用戶阿里云賬號的SK,需要授權CMH的fullaccess權限策略(AliyunAPDSFullAccess)。
endpoint: 配置endpoint。默認為中國的apds.cn-hangzhou.aliyuncs.com。如果用戶要訪問國際站,請將endpoint修改為apds.ap-southeast-1.aliyuncs.com。
server_port: 用戶自行配置的端口號。默認為8086。這里的端口號與host里面的端口號要保持一致。
region:agent部署的地域(如cn-hangzhou,不能為空)。
若使用公網模式連接,則需要配置agent.hostPublicAddress,agent.hostPrivateAddress置為空即可。私網鏈接反之。
若使用私網連接模式,agent部署機器必須保證能訪問到CMH的服務。無論使用私網連接模式還是公網連接模式,agent.hostPublicAddress和agent.hostPrivateAddress配置項都不能同時為空。
1.5 啟動服務
注意:agent部署的機器必須保證能夠訪問到配置的數據源(例如數據庫需要給服務器加白等)。
修改完之后執行下列命令,啟動服務即可:
sh start.sh
啟動之后可以看到服務已經順利啟動,之后在控制臺上進行操作即可。
1.6 注意事項
當agent關閉之后,會產生.db的數據庫文件,用戶需要在下一次啟動agent之前刪除該文件,否則會出現數據源混淆的問題,從而導致agent不能正常啟動,如下圖:
需要刪除數據庫文件刪除之后,agent便可以正常啟動。
2.連接網絡
完成Agent啟動之后,返回CMH控制臺,可以看到Agent狀態變成了已啟動(網絡未連接)狀態,單擊去連接。
2.1公網連接
在彈出的彈窗中選擇公網連接,根據提示在ECS安全組打開端口入方向的IP限制,單擊確認按鈕即可。
連接完成后可以看到agent狀態為在線狀態。
2.2私網連接
當前僅杭州region支持私網連接模式,如您在其他region下有私網連接校驗的需求,請您和我們聯系。
在彈出的彈窗中,選擇私網連接后,單擊下一步。
在第二步,您可以看到CMH提供給您的終端節點服務信息。之后需要您前往VPC控制臺(單擊前往VPC控制臺,)創建反向終端節點(請確保選擇的是我們向您提供的終端節點服務)。
在跳轉的專有網絡控制臺中,選擇反向終端節點,單擊創建終端節點。
完成表單填寫,創建終端節點,注意這里選擇終端節點服務需要核對是否與CMH控制臺中提示的CMH終端節點服務信息一致。
a. 當前僅支持杭州region的私網連接模式,如您在其他region有私網連接進行數據校驗的需要,請與我們聯系。
b. 在杭州region下,創建反向終端節點時,選擇的vswitch一定保證是可用區I。(如您沒有滿足條件的vswitch,請創建之后重新配置)。
創建終端節點之后,請您耐心等待,確保終端節點的狀態為可用時再進行下一步。
完成終端節點創建之后,返回CMH控制臺,單擊下一步按鈕,
選擇剛才創建的終端節點,單擊確認按鈕,首次配置連接時間可能較長,請稍作等待。
連接完成后可以看到agent狀態為在線狀態。
3. 創建割接計劃
3.1 新建割接計劃
完成agent啟動和連接網絡之后,可以看到agent已經變成在線狀態。點擊新建割接計劃按鈕,填寫基本信息完成割接計劃的創建。
填寫完成后,點擊確認按鈕即可完成創建。
3.2 創建校驗任務
點擊計劃名稱進入目標計劃的詳情頁,然后點擊新建任務按鈕,進行校驗任務的創建。
或者在創建割接計劃時,可以直接點擊確認并創建校驗任務按鈕進行校驗任務的創建。
進行表單填寫后點擊下一步按鈕,目前共支持4種驗證方式:Count,CheckSum,SumX,TopN(需要額外填寫排序數量N)。
系統會將選擇的源端庫中的表解析并展示,選擇需要進行數據校驗的表后點擊下一步。
CMH提供了正向選擇(校驗選中的表),反向選擇(校驗選中的表以外的所有表),全部(校驗全部表)三種選擇方式。
最后,確認選擇的校驗表是否符合預期,完成后點擊保存按鈕,即可完成校驗任務的創建。
注意:若選擇的是SumX的校驗方法,需要在校驗范圍確認階段選擇驗證字段。
若選擇的是TopN的校驗方法,則需要額外在校驗范圍確認階段選擇驗證字段和排序字段。
驗證字段:根據所選擇的字段進行數據校驗。
排序字段:根據驗證結果進行排序展示的字段。
3.3 發起校驗任務
校驗任務創建完成后,可以點擊發起驗證按鈕直接發起所有校驗任務。同時也支持勾選后,點擊批量發起驗證按鈕進行部分任務的發起。
點擊發起任務后,任務的狀態會置為驗證中,等待后刷新頁面即可觀察到任務的執行結果。
若發現執行結果不符合預期,支持數據訂正之后,點擊重新運行任務按鈕,重新發起校驗。