MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak zarządzać szablonami konfiguracji dla baz danych za pomocą ClusterControl

ClusterControl ułatwia wdrożenie konfiguracji bazy danych — wystarczy wpisać kilka wartości (dostawca bazy danych, katalog danych bazy danych, hasło i nazwy hostów) w kreatorze wdrażania i gotowe. Pozostałe opcje konfiguracji zostaną automatycznie określone (i obliczone) na podstawie specyfikacji hosta (rdzenie procesora, pamięć, adres IP itp.) i zastosowane do pliku szablonu dostarczanego z ClusterControl. W tym poście na blogu przyjrzymy się, w jaki sposób ClusterControl używa domyślnych plików szablonów i jak użytkownicy mogą dostosować je do swoich potrzeb.

Pliki szablonów podstawowych

Wszystkie usługi skonfigurowane przez ClusterControl używają podstawowego szablonu konfiguracji dostępnego w katalogu /usr/share/cmon/templates w węźle ClusterControl. Poniżej znajdują się pliki szablonów dostarczane przez ClusterControl v1.4.0:

Nazwa pliku Opis
config.ini.mc Plik konfiguracyjny MySQL Cluster.
haproxy.cfg Szablon konfiguracji HAProxy dla klastra Galera.
haproxy_rw_split.cfg Szablon konfiguracji HAProxy do dzielenia odczytu i zapisu.
garbd.cnf Plik konfiguracyjny demona Galera arbitrator (garbd).
keepalived-1.2.7.conf Starszy plik konfiguracyjny keepalive (przed 1.2.7). To jest przestarzałe.
keepalived.conf Zachowany plik konfiguracyjny.
keepalived.init Zachowaj skrypt startowy.
MaxScale_template.cnf Szablon konfiguracji MaxScale.
mongodb-2.6.conf.org Szablon konfiguracji MongoDB 2.x.
mongodb.conf.org Szablon konfiguracji MongoDB 3.x.
mongodb.conf.percona Szablon konfiguracji MongoDB 3.x dla Percona Server dla MongoDB.
mongos.conf.org Szablon konfiguracji routera Mongo (mongos).
my.cnf.galera Szablon konfiguracji MySQL dla klastra Galera.
my57.cnf.galera Szablon konfiguracji MySQL dla klastra Galera na MySQL 5.7.
my.cnf.grouprepl Szablon konfiguracji MySQL dla replikacji grupowej MySQL.
my.cnf.gtid_replication Szablon konfiguracji MySQL dla replikacji MySQL z GTID.
my.cnf.mysqlcluster Szablon konfiguracji MySQL dla klastra MySQL.
my.cnf.pxc55 Szablon konfiguracji MySQL dla klastra Percona XtraDB v5.5.
my.cnf.repl57 Szablon konfiguracji MySQL dla replikacji MySQL w wersji 5.7.
my.cnf.replication Szablon konfiguracji MySQL dla MySQL/MariaDB bez identyfikatora GTID MySQL.
mysqlchk.galera Szablon skryptu kontroli stanu MySQL dla klastra Galera.
mysqlchk.mysql Szablon skryptu kontroli stanu MySQL dla replikacji MySQL.
mysqlchk_xinetd Szablon konfiguracji Xinetd do kontroli stanu MySQL.
mysqld.service.override Szablon pliku jednostki systemowej dla usługi MySQL.
proxysql_template.cnf Szablon konfiguracji ProxySQL.

Powyższa lista zależy od zestawu funkcji zapewnianego przez zainstalowaną wersję ClusterControl. W starszej wersji niektórych z nich możesz nie znaleźć. Możesz modyfikować te pliki szablonów bezpośrednio, chociaż nie zalecamy tego, jak wyjaśniono w następnych sekcjach.

Menedżer konfiguracji

W zależności od typu klastra, ClusterControl zaimportuje następnie niezbędny plik szablonu podstawowego do bazy danych CMON i będzie dostępny poprzez Zarządzaj -> Konfiguracje -> Szablony po pomyślnym wdrożeniu. Rozważmy na przykład następujący szablon konfiguracji dla klastra MariaDB Galera:

ClusterControl załaduje zawartość podstawowego szablonu szablonu konfiguracji Galera z /usr/share/cmon/templates/my.cnf.galera do bazy danych CMON (wewnątrz tabeli cluster_configuration_templates) po pomyślnym wdrożeniu. Następnie możesz dostosować swój własny plik konfiguracyjny bezpośrednio w interfejsie użytkownika ClusterControl. Za każdym razem, gdy naciśniesz przycisk Zapisz, nowa wersja szablonu konfiguracji zostanie zapisana w bazie danych CMON, bez nadpisywania podstawowego pliku szablonu.

Po wdrożeniu i uruchomieniu klastra szablon w interfejsie użytkownika ma pierwszeństwo. Podstawowy plik szablonu jest używany tylko podczas początkowego wdrażania klastra za pomocą ClusterControl -> Deploy -> Deploy Database Cluster. Na etapie wdrażania ClusterControl użyje tymczasowego katalogu znajdującego się w /var/tmp/ do przygotowania zawartości, na przykład:

/var/tmp/cmon-003862-6a7775ca76c62486.tmp

Zmienne dynamiczne

Istnieje wiele zmiennych konfiguracyjnych, które można konfigurować dynamicznie przez ClusterControl. Zmienne te są reprezentowane wielkimi literami otoczonymi znakiem „@”, na przykład @[email protected] Szczegółowe informacje na temat obsługiwanych zmiennych można znaleźć na tej stronie. Zmienne dynamiczne są automatycznie konfigurowane na podstawie danych wejściowych określonych podczas wdrażania klastra lub ClusterControl wykonuje automatyczne wykrywanie na podstawie nazwy hosta, adresu IP, dostępnej pamięci RAM, liczby rdzeni procesora i tak dalej. Upraszcza to wdrożenie, w którym wystarczy określić minimalne opcje na etapie wdrażania klastra

Jeśli dynamiczna zmienna zostanie zastąpiona wartością (lub niezdefiniowaną), ClusterControl pominie ją i zamiast tego użyje skonfigurowanej wartości. Jest to przydatne dla zaawansowanych użytkowników, którzy zwykle mają własny zestaw opcji konfiguracyjnych dostosowanych do określonych obciążeń bazy danych.

Przykład szablonu konfiguracji przed wdrożeniem

Zamiast polegać na zmiennej dynamicznej ClusterControl na liczbie max_connections dla naszych węzłów bazy danych, możemy zmienić następującą linię wewnątrz /usr/share/cmon/templates/my57.cnf.galera, z:

[email protected]@sqldat.com

Do:

max_connections=50

Zapisz plik tekstowy i w oknie dialogowym Wdróż klaster bazy danych upewnij się, że ClusterControl używa prawidłowego pliku szablonu bazowego:

Kliknij przycisk Wdróż, aby rozpocząć wdrażanie klastra bazy danych.

Przykład szablonu konfiguracji po wdrożeniu

Po zakończeniu wdrażania klastra bazy danych przed podjęciem decyzji o skalowaniu w górę można było dokonać drobnego dostrojenia działających serwerów. Podczas skalowania w górę, ClusterControl użyje szablonu konfiguracji w bazie danych CMON (ten, który znajduje się w ClusterControl -> Konfiguracje -> Szablony), aby wdrożyć nowe węzły. Dlatego pamiętaj, aby zastosować modyfikacje wprowadzone na serwerze bazy danych do pliku szablonu.

Przed dodaniem nowego węzła dobrą praktyką jest przejrzenie szablonu konfiguracji, aby upewnić się, że nowy węzeł otrzyma to, czego oczekiwaliśmy. Następnie przejdź do ClusterControl -> Dodaj węzeł i upewnij się, że wybrany jest poprawny plik szablonu MySQL:

Następnie kliknij przycisk „Dodaj węzeł”, aby rozpocząć wdrażanie.

Otóż ​​to. Mimo że ClusterControl wykonuje różne zadania automatyzacji, jeśli chodzi o wdrażanie, nadal zapewnia użytkownikom swobodę odpowiedniego dostosowania wdrożenia. Miłego klastrowania!


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak przechowywać wyniki z dynamicznie generowanych formularzy w MongoDb?

  2. Łączenie i tworzenie złączeń MongoDB za pomocą SQL:część 1

  3. Co to jest TransientTransactionError w Mongoose (lub MongoDB)?

  4. sortowanie MongoDB()

  5. Uzyskaj konkretną część dokumentu