2016-12-03 7 views
0

Wie verwalten Partition in Echtzeit auf Galera Cluster rotieren?Partition in MariaDB mit Galera-Cluster rotieren

Ich bin von Zeit zu Zeit Metadaten-Sperre beim Löschen oder Hinzufügen von Partitionen auf einer Tabelle. Ich habe 3 Knoten in einem Cluster und alle Anwendungsverbindungen gehen durch Lastenausgleich zum ersten Knoten. Wenn der erste Knoten ausfällt, wechseln Sie zum zweiten Knoten.

Für Partitionierung verwende ich das nächste 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 

ich auf jedem Knoten auf unterschiedliche Zeit dieses Stück Code ausführen. Und einige Zeit Fang Metadatensperre und nur Kill-Prozess, die erstellen/drop Partition kann den Server entfrieren.

Also, DBAs, Wie Sie Partitionsrotationen in MariaDB mit Galera Clustr in Echtzeit verwalten? Ich benutze MariaDB Version - 10.1.13.

Mike.

Antwort

0

Tritt das Problem auf, wenn Sie nur ändern sql_log_bin. Das heißt, Sie deaktivieren nicht alle Replikation vai wsrep_on. Ich denke, das sollte die Antwort sein.

Zeigen Sie uns in der Zwischenzeit den Partitionsverwaltungscode; Dort könnte es Dinge zu tun geben.

Machen Sie im Wesentlichen eine RSU? Würde es funktionieren, TOI zu tun?

Was ist, wenn wir die Verwaltung beschleunigen können, so dass TOI anstelle von RSU machbar ist?

Wenn Sie eine "gleitende Zeitskala" machen, ist es durchaus möglich, die ALTER ... PARTITION Befehle praktisch sofort zu machen.

+0

Wenn ich nicht wsrep_on wechseln kann der ganze Cluster gesperrt werden. Partitionsverwaltungscode quiet simple: Lies einfach die config table und erstelle eine aleter table add oder drop partition. Change OSU-Methode hilft nicht. Fangen Sie die gleiche Metadatensperre ein. Alter table add partition funktioniert sehr schnell, wenn ich es manuell ausführe. Percona Unterstützung Antwort auf meine Frage, dass ich kleine Wartung auf ein Schema vornehmen sollte, bevor ich Partition Management-Prozedur auf DB ausführen. – mgavrilov

+0

Wenn es "schnell" ist, dann entfernen Sie alle Flag-Einstellungen und hängen von TOI ab, um "das Richtige zu tun". –