簡介:
本文介紹如何使用 DTS 快速建立RDS for MySQL->阿裡雲Elasticsearch的實時同步作業,實作RDS for MySQL資料到阿裡雲Elasticsearch的實時同步。
本文字數: 2239
閱讀時間: 5~8分鐘
您将了解
1、支援實時同步的類型
2、支援SQL操作的類型
3、配置步驟
以下是正文
資料傳輸服務 DTS(以下簡稱 DTS)
支援RDS for MySQL與阿裡雲Elasticsearch實時同步資料,通過 DTS 提供的 RDS for MySQL->阿裡雲Elasticsearch實時同步功能,可以将企業線上RDS for MySQL中的生産資料實時同步到阿裡雲Elasticsearch中進行搜尋。
支援實時同步類型
同一個阿裡雲賬号下 RDS for MySQL->阿裡雲Elasticsearch執行個體。
支援SQL操作類型
主要支援的SQL操作類型如下:
- Inset
- Delete
- Update
說明 目前暫不支援 DDL同步,如果同步過程中遇到DDL操作,DTS會忽略掉。
如果後續遇到DDL某個表,則對應表的DML操作可能失敗,修複方法為:
- 參考減少同步對象先将這個對象從同步清單中摘除。
- 删除阿裡雲Elasticsearch中這個表對應的索引。
- 參考 新增同步對象, 修改這個同步作業,将這個表重新添加到同步對象中,進行重新初始化。
如果是修改表、新增列的DDL,建議DDL的操作順序為:
- 先在阿裡雲Elasticsearch中手動修改對應表的mapping,新增列。
- 再在源RDS for MySQL執行個體中手動修改表結構,新增列。
- 暫停DTS同步執行個體,重新開機DTS同步執行個體讓DTS重新加載阿裡雲Elasticsearch中修改後的mapping關系。
配置步驟
下面詳細介紹建立RDS for MySQL執行個體到阿裡雲Elasticsearch執行個體同步鍊路的具體步驟。
-
購買同步鍊路
進入
資料傳輸服務 DTS控制台 ,進入資料同步界面,點選控制台右上角建立同步作業先購買一個同步鍊路,購買完同步鍊路後傳回DTS控制台,進行配置同步鍊路。
說明:在配置同步鍊路之前需要先購買一個同步鍊路,同步鍊路目前支援包年包月及按量付費兩種付費模式,可以根據需要選擇不同的付費模式。
購買界面參數
-
功能
選擇資料同步
-
源執行個體
選擇MySQL
-
源執行個體地域
本示例為RDS for MySQL,需選擇RDS for MySQL執行個體所在地域。
-
目标執行個體
選擇Elasticsearch
- 地域阿裡雲Elasticsearch執行個體所在地域,訂閱後不支援更換地域,請謹慎選擇。
-
同步拓撲
選擇單項同步
-
網絡類型
預設為專線,目前僅支援專線模式
-
同步鍊路規格
同步鍊路規格影響了鍊路的同步性能,同步鍊路規格跟性能之間的對應關系詳見
資料同步規格說明。 -
訂購時長
如果是預付費,預設為1個月,支援勾選開啟自動續費功能。
-
購買數量
預設為1,根據業務實際需要進行選擇。
說明 DTS控制台的同步執行個體按照地域展示,剛才購買的同步執行個體所屬的地域為同步執行個體的目标地域。例如上面購買的是 杭州RDS for MySQL->杭州阿裡雲Elasticsearch的同步執行個體,那麼這個同步執行個體在DTS的杭州地區。進入杭州區域的執行個體清單,查找剛才購買的同步執行個體,然後點選新購執行個體右側的 配置同步作業開始配置執行個體。
- 配置同步鍊路
同步作業名稱
同步作業名稱沒有唯一性要求,為了更友善識别具體的作業,建議選擇一個有業務意義的作業名稱,友善後續的鍊路查找及管理。、
源執行個體資訊
本示例采用資料源為 RDS for MySQL,需要配置RDS執行個體的ID、資料庫賬号、資料庫密碼。
目标執行個體資訊
目标執行個體資訊中需要配置阿裡雲Elasticsearch的執行個體ID,及通路阿裡雲ES執行個體賬号密碼
以上内容配置完成後,點選授權白名單并進入下一步進行RDS for MySQL及阿裡雲Elasticsearch的白名單添加。
- 授權執行個體白名單
說明 如果是RDS for MySQL,DTS會自動添加白名單或安全組。
如果源執行個體為RDS for MySQL,那麼DTS将自身的IP段添加到RDS執行個體的白名單的安全組中,避免因為RDS執行個體設定了白名單,DTS伺服器連接配接不上資料庫導緻同步作業建立失敗。為了保證同步作業的穩定性,在同步過程中,請勿将這些伺服器 IP 從 RDS執行個體的白名單的安全組中删除。
當白名單授權後,點選下一步,進入同步賬号建立。
-
選擇同步對象
當白名單授權完成後,即進入同步對象的選擇步驟。在這個步驟可以配置需要同步的表列,以及索引的命名規則。
- 索引名稱命名規則可以選擇:表名、庫名_表名。
- 如果選擇了表名,那麼索引名稱同表名。
- 如果選擇了庫名表名,那麼索引名稱的命名格式為:庫名表名。例如,庫名為:dbtest,表名為:sbtest1,那麼這張表同步到阿裡雲Elasticsearch後,對應的索引名稱為:dbtest_sbtest1。
- 如果需要同步的不同庫中存在相同名稱的表名,建議索引名稱命名規則選擇:庫名_表名。
-
選擇具體需要同步的庫表列,實時同步的同步對象的選擇粒度可以支援到表級别,即使用者可以選擇同步某些庫或某幾張表。
實時同步的同步對象的選擇粒度可以支援到表級别,即使用者可以選擇同步某些庫或某幾張表。
- 預設所有表的docid為表的主鍵,如果部分表沒有主鍵,那麼對于這部配置設定置docid 對應的源表的列。在右側-已選擇對象 框中,将滑鼠挪到對應表上,點選右側的 編輯 入口,進入這個表的進階設定界面。
-
在進階配置中可以設定:
索引名稱、Type名稱、分區列及分區數定義、_id取值列。其中 _id 取值如果選擇 業務主鍵,那麼需要選擇對應的業務主鍵列。
e.配置完同步對象後,進入進階配置步驟。
-
進階配置
主要配置
a. 同步初始化類型,建議選擇 結構初始化+全量資料初始化,由DTS自動進行索引的建立及全量資料的初始化。如果不選擇結構初始化,那麼需要在同步建立之前,先手動在阿裡雲Elasticsearch中完成索引mapping的定義。如果不選擇全量資料初始化,那麼DTS同步增量資料的起始時間點為:啟動同步的時間點。
b. 索引分片配置,預設為5個分片,1個副本。可以根據業務需要進行調整,一旦調整後,所有的索引按照這個配置定義分片。
c.字元串analyzer定義,可以選擇字元串的analyzer,預設為Standard Analyzer。取值包括:Standard Analyzer、Simple Analyzer、Whitespace Analyzer、Stop Analyzer、Keyword Analyzer、English Analyzer、Fingerprint Analyzer,所有索引的字元串字段按照這個配置定義Analyzer。
d. 時區,可以配置同步到阿裡雲Elasticsearch中的時間字段存儲的時區,預設為東八區。
-
預檢查同步作業配置完成後,DTS會進行預檢查,當預檢查通過後,可以點選 啟動 按鈕,啟動同步作業。
同步作業啟動後,即進入同步作業清單,此時剛啟動的作業處于同步初始化狀态。初始化的時間長度取決于源執行個體中同步對象的資料量大小,初始化完成後,同步鍊路即進入同步中的狀态,此時源跟目标執行個體的同步鍊路才真正建立。
- 資料效驗以上任務完執行成後,登入阿裡雲ES控制台,确認對應阿裡雲ES執行個體中有無建立對應索引,及同步的資料是否符合預期。
加入我們
【雲上ELK雙11限時優惠】
- 新購使用者,預付首月 75折
- 新購/續購/更新使用者,預付6個月85折
- 新購/續購/更新使用者,預付12個月8折
2019年阿裡雲雲栖大會上,Elasticsearch背後的商業公司Elastic與阿裡雲Elasticsearch确定戰略合作更新,在100%相容開源的基礎上,完成了ELK的完整生态雲上閉環,歡迎開通使用。
點選了解更多産品資訊