MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да управлявате шаблони за конфигурация за вашите бази данни с ClusterControl

ClusterControl улеснява внедряването на настройка на база данни - просто попълнете някои стойности (доставчик на база данни, директория с данни на база данни, парола и имена на хостове) в съветника за внедряване и сте готови. Останалите опции за конфигурация ще бъдат автоматично определени (и изчислени) въз основа на спецификациите на хоста (ядра на процесора, памет, IP адрес и т.н.) и приложени към файла с шаблон, който идва с ClusterControl. В тази публикация в блога ще разгледаме как ClusterControl използва шаблонни файлове по подразбиране и как потребителите могат да ги персонализират според нуждите си.

Основни шаблонни файлове

Всички услуги, конфигурирани от ClusterControl, използват шаблон за базова конфигурация, достъпен в /usr/share/cmon/templates на възела ClusterControl. Следват шаблонни файлове, предоставени от ClusterControl v1.4.0:

Име на файл Описание
config.ini.mc Конфигурационен файл на MySQL Cluster.
haproxy.cfg Шаблон за конфигурация на HAProxy за Galera Cluster.
haproxy_rw_split.cfg Конфигурационен шаблон на HAProxy за разделяне на четене и запис.
garbd.cnf Конфигурационен файл на демона за арбитър на Galera (garbd).
keepalived-1.2.7.conf Наследен поддържащ конфигурационен файл (преди 1.2.7). Това е отхвърлено.
keepalived.conf Конфигурационен файл за запазване.
keepalived.init Запазете init скрипт.
MaxScale_template.cnf Шаблон за конфигурация на MaxScale.
mongodb-2.6.conf.org Шаблон за конфигурация на MongoDB 2.x.
mongodb.conf.org Шаблон за конфигурация на MongoDB 3.x.
mongodb.conf.percona Шаблон за конфигурация MongoDB 3.x за Percona Server за MongoDB.
mongos.conf.org Шаблон за конфигурация на рутера Mongo (mongos).
my.cnf.galera Шаблон за конфигурация на MySQL за Galera Cluster.
my57.cnf.galera Шаблон за конфигурация на MySQL за Galera Cluster на MySQL 5.7.
my.cnf.grouprepl Шаблон за конфигурация на MySQL за репликация на MySQL група.
my.cnf.gtid_replication Шаблон за конфигурация на MySQL за MySQL репликация с GTID.
my.cnf.mysqlcluster Шаблон за конфигурация на MySQL за MySQL клъстер.
my.cnf.pxc55 Шаблон за конфигурация на MySQL за Percona XtraDB Cluster v5.5.
my.cnf.repl57 Шаблон за конфигурация на MySQL за MySQL репликация v5.7.
my.cnf.replication Шаблон за конфигурация на MySQL за MySQL/MariaDB без GTID на MySQL.
mysqlchk.galera Шаблон на скрипт за проверка на състоянието на MySQL за Galera Cluster.
mysqlchk.mysql Шаблон на скрипт за проверка на състоянието на MySQL за репликация на MySQL.
mysqlchk_xinetd Шаблон за конфигурация на Xinetd за проверка на състоянието на MySQL.
mysqld.service.override Шаблон на файлов системен модул за услугата MySQL.
proxysql_template.cnf Шаблон за конфигурация на ProxySQL.

Горният списък зависи от набора от функции, предоставен от инсталираната версия на ClusterControl. В по-стара версия може да не намерите някои от тях. Можете да променяте тези шаблонни файлове директно, въпреки че ние не го препоръчваме, както е обяснено в следващите раздели.

Мениджър на конфигурацията

В зависимост от типа на клъстера, ClusterControl ще импортира необходимия файл с основен шаблон в базата данни CMON и ще бъде достъпен чрез Управление -> Конфигурации -> Шаблони, след като разполагането е успешно. Например, помислете за следния шаблон за конфигурация за MariaDB Galera Cluster:

ClusterControl ще зареди съдържанието на основния шаблон на конфигурационния шаблон на Galera от /usr/share/cmon/templates/my.cnf.galera в база данни CMON (вътре в таблицата cluster_configuration_templates), след като разполагането е успешно. След това можете да персонализирате своя собствен конфигурационен файл директно в потребителския интерфейс на ClusterControl. Всеки път, когато натиснете бутона Save, новата версия на шаблона за конфигурация ще бъде съхранена в базата данни CMON, без да се презаписва основният шаблонен файл.

След като клъстерът е разгърнат и работи, шаблонът в потребителския интерфейс има предимство. Файлът с основния шаблон се използва само по време на първоначалното разгръщане на клъстер чрез ClusterControl -> Разгръщане -> Разгръщане на клъстер на база данни. По време на етапа на внедряване, ClusterControl ще използва временна директория, разположена на /var/tmp/, за да подготви съдържанието, например:

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

Динамични променливи

Има редица конфигурационни променливи, които могат да се конфигурират динамично от ClusterControl. Тези променливи са представени с главни букви, оградени със знак „@“, например @[email protected] За пълни подробности относно поддържаните променливи, моля, вижте тази страница. Динамичните променливи се конфигурират автоматично въз основа на входа, определен по време на разгръщането на клъстер, или ClusterControl извършва автоматично откриване въз основа на име на хост, IP адрес, налична RAM, брой ядра на процесора и т.н. Това опростява внедряването, където трябва само да посочите минимални опции по време на етапа на внедряване на клъстер

Ако динамичната променлива е заменена със стойност (или недефинирана), ClusterControl ще я пропусне и вместо това ще използва конфигурираната стойност. Това е удобно за напреднали потребители, които обикновено имат свой собствен набор от опции за конфигурация, пригодени за конкретни натоварвания на база данни.

Пример за конфигурационен шаблон преди внедряване

Вместо да разчитаме на динамичната променлива на ClusterControl за броя на max_connections за нашите възли на базата данни, можем да променим следния ред в /usr/share/cmon/templates/my57.cnf.galera, от:

[email protected]@sqldat.com

До:

max_connections=50

Запазете текстовия файл и в диалоговия прозорец Разгръщане на клъстер на база данни се уверете, че ClusterControl използва правилния основен шаблонен файл:

Щракнете върху бутона Разгръщане, за да започнете внедряването на клъстера на базата данни.

Пример за конфигурационен шаблон след внедряване

След като разгръщането на клъстера на базата данни завърши, може да сте направили някои фини настройки на работещите сървъри, преди да решите да го увеличите. Когато увеличава мащаба, ClusterControl ще използва конфигурационния шаблон в базата данни CMON (този, попълнен в ClusterControl -> Конфигурации -> Шаблони), за да разгърне новите възли. Затова не забравяйте да приложите модификацията, която сте направили на сървъра на базата данни, към файла с шаблон.

Преди да добавите нов възел, добра практика е да прегледате шаблона за конфигурация, за да се уверите, че новият възел получава това, което очаквахме. След това отидете на ClusterControl -> Добавяне на възел и се уверете, че е избран правилният шаблон на MySQL:

След това щракнете върху бутона „Добавяне на възел“, за да започнете внедряването.

Това е. Въпреки че ClusterControl изпълнява различни задачи за автоматизация, когато става въпрос за внедряване, той все пак предоставя свобода на потребителите да персонализират съответно внедряването. Приятно групиране!


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb.conf bind_ip =127.0.0.1 не работи, но 0.0.0.0 работи

  2. име на поле ClassName се вмъква в mongodb от morphia

  3. Кога да използвате CouchDB над MongoDB и обратно

  4. MongoDB insertMany()

  5. MongoDB:Уникален индекс на свойството на елемента на масива