Mysql
 sql >> база данни >  >> RDS >> Mysql

Разгръщане и управление на MySQL NDB клъстер с ClusterControl

В ClusterControl 1.5 добавихме поддръжка за MySQL NDB Cluster 7.5. В тази публикация в блога ще разгледаме някои от функциите, които правят ClusterControl чудесен инструмент за управление на MySQL NDB Cluster. На първо място, тъй като има много продукти с „Cluster“ в името си, бихме искали да кажем няколко думи за самия MySQL NDB Cluster и как той се отличава от другите решения.

MySQL NDB клъстер

MySQL NDB Cluster е синхронен клъстер без споделено нищо за MySQL, базиран на NDB двигателя. Това е продукт със собствен списък с функции и доста различен от Galera Cluster или MySQL InnoDB Cluster. Една основна разлика е използването на NDB машина, а не InnoDB, която е машината по подразбиране за MySQL. В NDB клъстер данните се разделят на множество възли с данни, докато Galera Cluster или MySQL InnoDB Cluster съдържат пълния набор от данни на всеки от възлите. Това има сериозни последици за начина, по който MySQL NDB Cluster се справя със заявки, които използват JOIN и големи парчета от набора от данни.

Когато става въпрос за архитектура, MySQL NDB Cluster се състои от три различни типа възли. Възлите за данни съхраняват данните, използвайки NDB двигателя. Данните се отразяват за дублиране, с до 4 копия на данни. Имайте предвид, че ClusterControl ще разположи 2 реплики на група възли, тъй като това е най-тестваната и стабилна конфигурация. Възлите за управление са предназначени да контролират клъстера - поради причини за висока наличност обикновено имате два такива възела. SQL възлите се използват като входни точки към клъстера. Те анализират SQL, искат данни от възлите на данни и обобщават набори от резултати, когато е необходимо.

Функции на ClusterControl за MySQL NDB Cluster

Внедряване

ClusterControl 1.5 поддържа внедряване на MySQL NDB Cluster 7.5. Извършва се чрез същия съветник за внедряване, както при останалите типове клъстери.

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

В следващата стъпка дефинирате възли за управление за вашия клъстер.

Тук трябва да решите колко възли за данни искате да имате. Както вече казахме, всеки 2 възела ще бъдат част от група възли, така че това трябва да е четно число.

И накрая, трябва да решите колко SQL възли искате да разположите във вашия клъстер. След като щракнете върху разгръщане, ClusterControl ще се свърже с хостовете, ще инсталира софтуера и ще конфигурира всички услуги. След известно време трябва да видите, че вашият клъстер е разгърнат.

Мащабиране на MySQL NDB клъстер

За MySQL NDB Cluster, ClusterControl 1.5.0 поддържа мащабиране на SQL възли. Можете да получите достъп до заданието от падащото меню Cluster jobs.

Там можете да попълните името на хоста на възела, който искате да добавите и това е всичко, от което се нуждаете – ClusterControl ще се погрижи за останалото.

Управление на MySQL NDB клъстер

ClusterControl ви помага да управлявате MySQL NDB Cluster. В този раздел бихме искали да преминем през някои от функциите за управление, които имаме.

Резервни копия

Архивите са от решаващо значение за всяка производствена среда. В случай на бедствие само доброто архивиране може да сведе до минимум загубата на данни и да ви помогне бързо да се възстановите от проблема. Репликацията може да не винаги е решение, което работи - DROP TABLE ще пусне таблицата на всички хостове в топологията. Дори закъснял роб може да забави неизбежното само с толкова.

ClusterControl поддържа ndb архивиране за MySQL NDB Cluster.

Можете лесно да създадете график за архивиране, който да бъде изпълнен от ClusterControl.

Прокси слой

ClusterControl ви позволява да разгръщате пълен стек с висока наличност върху MySQL NDB Cluster. За прокси слоя поддържаме внедряване на HAProxy и MaxScale.

Както е показано на екранната снимка по-горе, внедряването изглежда много подобно на другите типове клъстери. Трябва да решите дали искате да използвате съществуващ HAProxy или да разположите нов. След това трябва да изберете как да го инсталирате – като използвате пакети от хранилища, налични на възела, или го компилирате от изходния код на най-новата версия.

Ако решите да използвате HAProxy, ще имате възможност да конфигурирате висока наличност чрез Keepalived и Virtual IP.

Процесът е следният - дефинирате виртуален IP и интерфейса, на който трябва да се изведе. След това можете да го разгърнете за всеки HAProxy, който сте инсталирали. Един от процесите Keepalived ще бъде определен като „главен“ и ще активира VIP на своя възел. След това вашето приложение се свързва с този конкретен IP. Когато текущо активен HAProxy не е наличен, VIP ще бъде преместен в друг наличен HAProxy, възстановявайки връзката.

Управление на възстановяване

Въпреки че MySQL NDB Cluster може да толерира повреди на отделни възли, важно е незабавно да се реагира на тях. ClusterControl осигурява автоматично възстановяване за всички компоненти на клъстера. Без значение какво се провали (възел за управление, възел на данни или SQL възел), ClusterControl автоматично ще ги рестартира.

Мониторинг на MySQL NDB клъстер

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

В допълнение към графиките, страницата „Общ преглед“ ви дава представа за състоянието на клъстера въз основа на някои показатели на MySQL NDB Cluster, като използвана индексна памет, памет на данни и състояние на някои буфери.

Той също така осигурява мониторинг на показателите на хоста, включително използване на процесора, RAM, диск или мрежова статистика. Тези графики също са от решаващо значение за изграждането на представа за здравето на клъстера.

ClusterControl може също да ви помогне да подобрите производителността на вашите бази данни, като ви даде достъп до Query Monitor, който съхранява статистически данни за вашия трафик.

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да използвам executemany, за да вмъкна в MySQL списък с речници в Python

  2. Изчислете процентил от актуалност в MySQL

  3. node.js mysql грешка:ECONNREFUSED

  4. Как да съхранявате масиви в MySQL?

  5. Външен ключ с няколко колони в MySQL?