sql >> Database >  >> RDS >> MariaDB

Zeer beschikbare databases en clusters implementeren met ClusterControl

We krijgen leuke feedback met betrekking tot ons product ClusterControl, vooral hoe eenvoudig het is om te installeren en aan de slag te gaan. Nieuwe software installeren is één ding, maar het correct gebruiken is een tweede.

Het is niet ongewoon om ongeduldig te zijn om nieuwe software te testen en je speelt liever met een nieuwe opwindende applicatie dan eerst de documentatie te lezen voordat je aan de slag gaat. Dat is een beetje jammer, omdat je belangrijke functies misschien mist of niet begrijpt hoe je ze moet gebruiken.

Deze blogserie behandelt alle basishandelingen van ClusterControl voor MySQL, MongoDB &PostgreSQL met voorbeelden over hoe u het meeste uit uw installatie kunt halen. Het biedt je een diepe duik in verschillende onderwerpen om je tijd te besparen.

Dit zijn de onderwerpen die in deze serie aan bod komen:

  • De eerste clusters inzetten
  • Uw bestaande infrastructuur toevoegen
  • Prestatie- en gezondheidsmonitoring
  • Uw componenten HA maken
  • Werkstroombeheer
  • Uw gegevens beschermen
  • Uw gegevens beschermen
  • Uitgebreide gebruikssituatie

In de post van vandaag bespreken we het installeren van ClusterControl en het implementeren van uw eerste clusters.

Voorbereidingen

In deze serie zullen we gebruik maken van een set Vagrant-boxen, maar u kunt uw eigen infrastructuur gebruiken als u dat wilt. Als je het toch met Vagrant wilt testen, hebben we een voorbeeldconfiguratie beschikbaar gesteld via de volgende Github-repository:https://github.com/severalnines/vagrant

Kloon de opslagplaats naar uw eigen machine:

$ git clone [email protected]:severalnines/vagrant.git

De topologie van de zwervende knooppunten is als volgt:

  • vm1:clustercontrole
  • vm2:databaseknooppunt1
  • vm3:databaseknooppunt2
  • vm4:databaseknooppunt3

U kunt desgewenst eenvoudig extra knooppunten toevoegen door de volgende regel te wijzigen:

4.times do |n|

Het Vagrant-bestand is geconfigureerd om ClusterControl automatisch op het eerste knooppunt te installeren en de gebruikersinterface van ClusterControl door te sturen naar poort 8080 op uw host waarop Vagrant wordt uitgevoerd. Dus als het IP-adres van uw host 192.168.1.10 is, vindt u de gebruikersinterface van ClusterControl hier:http://192.168.1.10:8080/clustercontrol/

ClusterControl installeren

U kunt dit overslaan als u ervoor kiest om het Vagrant-bestand te gebruiken en de automatische installatie te krijgen. Maar de installatie van ClusterControl is eenvoudig en duurt minder dan vijf minuten.

Met de pakketinstallatie hoeft u alleen de volgende drie opdrachten op het ClusterControl-knooppunt uit te voeren om het geïnstalleerd te krijgen:

$ wget http://www.severalnines.com/downloads/cmon/install-cc
$ chmod +x install-cc
$ ./install-cc   # as root or sudo user

Dat is alles:eenvoudiger dan dit kan niet. Als het installatiescript geen problemen heeft ondervonden, moet ClusterControl worden geïnstalleerd en actief zijn. U kunt nu inloggen op ClusterControl op de volgende URL:http://192.168.1.210/clustercontrol

Na het aanmaken van een beheerdersaccount en inloggen, wordt u gevraagd uw eerste cluster toe te voegen.

Een Galera-cluster implementeren

U wordt gevraagd een nieuwe databaseserver/cluster te maken of een bestaande (d.w.z. reeds geïmplementeerde) server of cluster te importeren:

We gaan een Galera-cluster inzetten. Er zijn twee secties die moeten worden ingevuld. Het eerste tabblad heeft betrekking op SSH en algemene instellingen:

Om ClusterControl in staat te stellen de Galera-knooppunten te installeren, gebruiken we de rootgebruiker die SSH-toegang heeft gekregen door de Vagrant-bootstrap-scripts. Als u ervoor kiest om uw eigen infrastructuur te gebruiken, moet u hier een gebruiker invoeren die wachtwoordloze SSH mag doen naar de knooppunten die ClusterControl zal besturen. Houd er rekening mee dat u vooraf SSH zonder wachtwoord van ClusterControl naar alle databaseknooppunten moet instellen.

Zorg er ook voor dat u AppArmor/SELinux uitschakelt. Zie hier waarom.

Ga dan verder naar de tweede fase en specificeer de databasegerelateerde informatie en de doelhosts:

ClusterControl zal elke keer dat u op Enter drukt bij het toevoegen van een knooppunt onmiddellijk enkele gezondheidscontroles uitvoeren. U kunt het hostoverzicht zien door met de muis over elk gedefinieerd knooppunt te bewegen. Zodra alles groen is, betekent dit dat ClusterControl verbinding heeft met alle knooppunten, u kunt op Deploy klikken. Er zal een taak worden voortgebracht om het nieuwe cluster te bouwen. Het leuke is dat je de voortgang van deze job kunt volgen door te klikken op Activiteit -> Jobs -> Cluster maken -> Volledige jobdetails :

Zodra de taak is voltooid, hebt u zojuist uw eerste cluster gemaakt. Het clusteroverzicht zou er als volgt uit moeten zien:

Op het tabblad knooppunten kunt u elke bewerking uitvoeren die u normaal gesproken op een cluster zou doen. De querymonitor geeft u een goed overzicht van zowel lopende als topquery's. Het prestatietabblad helpt u de prestaties van uw cluster nauwlettend in de gaten te houden en bevat ook de adviseurs die u helpen proactief te reageren op trends in gegevens. Op het tabblad Back-up kunt u eenvoudig back-ups plannen en opslaan op lokale of cloudopslag. Op het tabblad beheren kunt u uw cluster uitbreiden of zeer beschikbaar maken voor uw applicaties via een load balancer.

Al deze functionaliteit komt aan bod in latere blogposts in deze serie.

Een MySQL-replicatiecluster implementeren

Het implementeren van een MySQL-replicatie-installatie is vergelijkbaar met de implementatie van een Galera-database, behalve dat het een extra tabblad heeft in het implementatiedialoogvenster waar u de replicatietopologie kunt definiëren:

U kunt standaard master-slave-replicatie instellen, evenals master-master-replicatie. In het laatste geval blijft er slechts één master tegelijk beschrijfbaar. Houd er rekening mee dat master-master-replicatie niet gepaard gaat met conflictoplossing en gegarandeerde gegevensconsistentie, zoals in het geval van Galera. Gebruik deze opstelling met de nodige voorzichtigheid, of kijk in Galera-cluster. Zodra alles groen is en je op Deploy hebt geklikt, wordt er een taak gegenereerd om het nieuwe cluster te bouwen.

Nogmaals, de voortgang van de implementatie is beschikbaar onder Activiteit -> Taken.

Om de slaaf uit te schalen (lees kopie), gebruikt u eenvoudig de optie "Knooppunt toevoegen" in de clusterlijst:

Nadat de slave-node is toegevoegd, zal ClusterControl de slave voorzien van een kopie van de gegevens van zijn master met behulp van Xtrabackup of van eventuele bestaande PITR-compatibele back-ups voor dat cluster.

PostgreSQL-replicatie implementeren

ClusterControl ondersteunt de implementatie van PostgreSQL versie 9.x en hoger. De stappen zijn vergelijkbaar met de implementatie van MySQL-replicatie, waarbij u aan het einde van de implementatiestap de databasetopologie kunt definiëren bij het toevoegen van de knooppunten:

Net als bij MySQL-replicatie, kunt u, zodra de implementatie is voltooid, uitschalen door replicatieslave aan het cluster toe te voegen. De stap is zo simpel als het selecteren van de master en het invullen van de FQDN voor de nieuwe slave:

ClusterControl voert vervolgens de benodigde gegevensstaging van de gekozen master uit met behulp van pg_basebackup, configureert de replicatiegebruiker en schakelt de streamingreplicatie in. Het PostgreSQL-clusteroverzicht geeft u enig inzicht in uw instellingen:

Net als bij de Galera- en MySQL-clusteroverzichten, vindt u hier alle benodigde tabbladen en functies:de querymonitor, prestaties, back-uptabbladen stellen u in staat om de nodige bewerkingen uit te voeren.

Een MongoDB-replicaset implementeren

Het implementeren van een nieuwe MongoDB Replica Set is vergelijkbaar met de andere clusters. Kies in het dialoogvenster Databasecluster implementeren MongoDB ReplicatSet, definieer de voorkeursdatabase-opties en voeg de databaseknooppunten toe:

U kunt ervoor kiezen om Percona Server voor MongoDB van Percona of MongoDB Server van MongoDB, Inc (voorheen 10gen) te installeren. U moet ook de MongoDB-beheerdersgebruiker en het wachtwoord opgeven, aangezien ClusterControl standaard een MongoDB-cluster implementeert waarvoor verificatie is ingeschakeld.

Na installatie van het cluster, kunt u een extra slave- of arbiter-knooppunt toevoegen aan de replicaset met behulp van het menu "Knooppunt toevoegen" onder dezelfde vervolgkeuzelijst uit het clusteroverzicht:

Nadat de slaaf of arbiter aan de replicaset is toegevoegd, wordt er een taak voortgebracht. Zodra deze taak is voltooid, duurt het even voordat MongoDB deze aan het cluster toevoegt en zichtbaar wordt in het clusteroverzicht:

Laatste gedachten

Met deze drie voorbeelden hebben we u laten zien hoe eenvoudig het is om in slechts een paar minuten verschillende clusters helemaal opnieuw op te zetten. Het mooie van het gebruik van deze Vagrant-opstelling is dat je, net zo eenvoudig als het spawnen van deze omgeving, deze ook kunt uitschakelen en vervolgens weer kunt spawnen. Maak indruk op je collega's door te laten zien hoe snel je een werkomgeving kunt opzetten.

Het zou natuurlijk even interessant zijn om bestaande hosts en reeds geïmplementeerde clusters toe te voegen aan ClusterControl, en dat is wat we de volgende keer zullen behandelen.


  1. RowGen v3 automatiseert het genereren van databasetestgegevens

  2. Hoe kan een LEFT OUTER JOIN meer records retourneren dan er in de linkertabel staan?

  3. Beveiligingsaudits automatiseren voor PostgreSQL

  4. “PostgreSQL 9.0 High Performance” boek is uit