Lindorm支援的分組功能可以用來解決多租戶隔離問題,通過劃分RegionServer到不同的分組,每個分組上儲存不同的表,從而達到資源隔離的目的。本文介紹Lindorm通過叢集管理系統管理分組。
背景資訊
當多個使用者或者多個業務同時使用一個Lindorm叢集時,往往存在資源爭搶的問題。一些重要的線上業務讀寫操作可能會被離線業務批量讀寫所影響。針對這一問題,Lindorm推出了分組功能。如下圖所示,建立Group1並把RegionServer1和RegionServer2劃分到Group1中,建立Group2並把RegionServer3和RegionServer4劃分到Group2中。同時把Table1和Table2也移動到Group1分組,Table1和Table2的所有Region都只會分配到Group1中的RegionServer1和RegionServer2機器上。同理,Table3和Table4的所有Region都只會分配到Group2中的RegionServer3和RegionServer4機器上。所以發送到Table1和Table2的請求,只會由RegionServer1和RegionServer2服務響應,而發送到Table3和Table4的請求,只會由RegionServer3和RegionServer4服務響應,從而達到資源隔離的目的。
前提條件
已登入目標執行個體的叢集管理系統,具體操作請參見登入叢集管理系統。
查看分組資訊
在叢集管理系統的左側導覽列中,選擇 。
在資料概覽地區中可以看到當前叢集所有的分組資訊。
說明如果您沒有建立過分組,系統會預設建立一個分組,該分組名稱為default,所有的RegionServer和表都會歸屬到這個分組中。
建立分組
在叢集管理系統的左側導覽列中,選擇 。
單擊頁面右側的+添加。
在建立分組對話方塊中輸入分組名。
單擊確定。
說明建立分組後,分組中的Server數量和Table數量都為0,需要您將Server和Table移動到該分組中。
刪除分組
只有分組中的所有Server和Table都被移出(也就是Server數和Table數為0),分組才能被刪除。
在叢集管理系統的左側導覽列中,選擇
。在目標分組中操作列,選擇
。在對話方塊中單擊確定。
查看執行個體/叢集基本資料
在叢集管理系統的左側導覽列中,選擇
。在執行個體/叢集基本資料地區中可以看到資料庫類型和資料庫所在IDC等資訊。
單擊右方的
,可以調整當前執行個體/叢集的讀寫權限。
移動RegionServer的分組
預設狀態下,所有的RegionServer都屬於default分組,您需要將RegionServer移動到對應的分組中才能使用。
如果您將Table移動到一個沒有RegionServer的分組中,那麼該表的Region會由於沒有伺服器可以上線而無法訪問。
建議每個分組至少分配兩台RegionServer機器,當一台RegionServer機器無法運行時,表的Region可以分配到同一分組的另一台RegionServer機器上。如果只有一台RegionServer機器,當這台RegionServer機器無法運行時,這個分組所有的表都無法被訪問。
在移動RegionServer的分組時,這個RegionServer上正在訪問的Region會被立即重新分配到分組的其他RegionServer機器上。
在叢集管理系統的左側導覽列中,選擇
。在目標分組的操作列,選擇
。在移動分組對話方塊中選擇目標分組。
單擊確定。
移動表的分組
請勿將表移動到沒有伺服器的分組,否則會造成表無法被訪問。
在概覽頁面,單擊操作列的移動分組。
在移動分組對話方塊中選擇目標分組。
單擊確定。