2016-12-03 54 views
0

如何在Galera集羣上管理分區實時輪換?使用Galera集羣在MariaDB中旋轉分區

我不時捕獲元數據鎖,同時在表上刪除或添加分區。 我在集羣中有3個節點,並且所有應用程序連接都通過負載均衡轉到第一個節點。如果第一個節點連接切換到第二個節點。

對於分區我使用的下一個SP:

CREATE DEFINER=`root`@`localhost` PROCEDURE `manage_partitions`() 
BEGIN 
    if @@GLOBAL.wsrep_on = 1 
    then SET wsrep_on=0; end if; 
    SET sql_log_bin = 0; 
    ----- > Manage partitions here 
    SET sql_log_bin = 1; 
    if @@GLOBAL.wsrep_on = 1 
    then SET wsrep_on=1; end if; 
END 

我在不同的時間在每個節點上執行該代碼段。 有的時候捕獲元數據鎖,只有殺掉進程的哪個創建/刪除分區才能解凍服務器。

所以,數據庫管理員,你怎麼在MariaDB的管理分區旋轉,帶實時加萊拉clusetr? 我使用MariaDB版本 - 10.1.13。

Mike。

回答

0

如果您只有只有更改sql_log_bin是否會發生問題。那就是你不要關掉所有的複製wsrep_on。我覺得這應該是答案。

同時,請向我們展示分區管理代碼;那裏可能有事情要做。

你實質上是在做一個RSU嗎?它會工作做TOI嗎?

如果讓TOI是可行的,而不是RSU我們可以加快管理?

如果你正在做一個「滑動時間標度」,很可能使得ALTER ... PARTITION命令幾乎是瞬間完成的。

+0

如果我不切換wsrep_on,整個羣集都可以被鎖定。分區管理代碼安靜簡單:只需讀取配置表並創建阿列特表添加或刪除分區。更改OSU方法不起作用。捕獲相同的元數據鎖。改變表格添加分區工作非常快,當我手動運行它。 Percona支持在我對數據庫運行分區管理程序之前對模式進行小維護的問題上的回答。 – mgavrilov

+0

如果它「很快」,那麼刪除所有標誌設置並依靠TOI來「做正確的事情」。 –

相關問題