Установка и настройка mysqlcluster на debian 8

Установка и настройка mysqlcluster на debian 8

1. Введение
2. Конфигурация систем
3. Установка
4. Настройка
5. Тестировние
6. Выводы

1. Введение.

Что такое mysql кластер?

Mysql cluster — это реализация Mysql database как отказоустойчивого решения, которое не имеет единой точки отказа. Состоит из нескольких нод, которые выполняеют различные функции, такие как хранение данных, репликация данных и реализация запросов.
Основные термины:

Management node — Управляющая нода. Выполняет административные задачи — запуск и остановка нод, бэкап и просомотр состояния нод. Исполняемый файл: ndb_mgmd.

Single-threaded data node. Хранит данные и выполняет запросы. Исполняемый файл: ndbd.

Multi threaded data node. Хранит данные и выполняет множесто и обеспечивает множесто параллельных запросов. Исполняемый файл: ndbmtd.

SQL node. MySQL server для выполнения SQL запросов вместо Data ноды. Т.е. процесс запросов перенсен на другую ноду. Исполняемый файлmysqld.

API node. Для размещения клиетского API для выполения запросов. Более подробная инфа на сайте Mysql/

2. Конфигурация систем

Для работы нам понадобятся 5 машин
4 шт -debian server 8
1шт — debian с рабочим чтолом(любым) для настройки всей системы и построения кластера через web инетерфейс.
10.4.1.21 — datanode1
10.4.1.22 — datanode2
10.4.1.23 — sqlnode1
10.4.1.24 — sqlnode2
10.4.1.25 — managmentnode

Требования к nodes.
Управляющая нода. When building from source and running the default make install, the management server and management client binaries (ndb_mgmd and ndb_mgm) can be found in /usr/local/mysql/bin. Only ndb_mgmd is required to be present on a management node host; however, it is also a good idea to have ndb_mgm present on the same host machine. Neither of these executables requires a specific location on the host machine’s file system.

Ноды с базами данных The only executable required on a data node host is the data node binary ndbd or ndbmtd. (mysqld, for example, does not have to be present on the host machine.) By default, when building from source, this file is placed in the directory /usr/local/mysql/bin. For installing on multiple data node hosts, only ndbd or ndbmtd need be copied to the other host machine or machines. (This assumes that all data node hosts use the same architecture and operating system; otherwise you may need to compile separately for each different platform.) The data node binary need not be in any particular location on the host’s file system, as long as the location is known.

When compiling MySQL Cluster from source, no special options are required for building multi-threaded data node binaries. Configuring the build with NDB storage engine support causes ndbmtd to be built automatically; make install places the ndbmtd binary in the installation bin directory along with mysqld, ndbd, and ndb_mgm.

SQL ноды. If you compile MySQL with clustering support, and perform the default installation (using make install as the system root user), mysqld is placed in /usr/local/mysql/bin. Follow the steps given in Section 2.9, “Installing MySQL from Source” to make mysqld ready for use. If you want to run multiple SQL nodes, you can use a copy of the same mysqld executable and its associated support files on several machines. The easiest way to do this is to copy the entire /usr/local/mysql directory and all directories and files contained within it to the other SQL node host or hosts, then repeat the steps from Section 2.9, “Installing MySQL from Source” on each machine. If you configure the build with a nondefault PREFIX option, you must adjust the directory accordingly.

3 Установка и настройка mysqlcluster

Перед установкой. Установим пакет и добавим user и group mysql
sudo apt-get install libaio1
sudo groupadd mysql
sudo useradd -g mysql mysql

На Datanodes

sudo cp -R mysql-cluster-gpl-7.4.10-linux-glibc2.5-x86_64 /usr/local

sudo ln -s /usr/local/mysql-cluster-gpl-7.4.10-linux-glibc2.5-x86_64 /usr/local/mysql
sudo ln -s /usr/local/mysql-cluster-gpl-7.4.10-linux-glibc2.5-x86_64 /usr/share/mysql
$ cd /usr/local/mysql

cd /usr/local/mysql/bin

sudo su

mv * /usr/bin

cd ../

rm -fr /usr/local/mysql/bin

ln -s /usr/bin /usr/local/mysql/bin

Install NDB_MGMD and NDBD :

sudo mkdir /var/lib/mysql-cluster

sudo nano /var/lib/mysql-cluster/config.ini

Вставляем конфиг

*[NDBD DEFAULT]

NoOfReplicas=2

DataMemory=200M

IndexMemory=20M

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

DataDir=/var/lib/mysql-cluster

[TCP DEFAULT]

[NDB_MGMD]

NodeId=1

HostName=10.4.1.21

[NDB_MGMD]

NodeId=2

#IP address of the second management node

HostName=10.4.1.22

[NDBD]

HostName=10.20.4.1

DataDir= /var/lib/mysql-cluster

[NDBD]

HostName=10.20.4.2

DataDir=/var/lib/mysql-cluster

[MYSQLD]

id = 51

hostname = 10.4.1.21

[MYSQLD]

id = 52

hostname = 10.4.1.22*

save.
echo «ndb_mgmd -f /var/lib/mysql-cluster/config.ini» > /etc/init.d/ndb_mgmd
chmod 755 /etc/init.d/ndb_mgmd

sudo ln -s /usr/local/mysql-cluster-gpl-7.3.8-linux-glibc2.5-x86_64 /usr/share/mysql
sudo /usr/local/mysql/scripts/mysql_install_db —user=mysql —datadir=/usr/local/mysql/data —basedir=/usr/local/mysql
cd /usr/local/mysql
sudo chown -R root .
sudo chown -R mysql data
sudo chgrp -R mysql .

3. Установка на debian8

Устанавливать будем из исходников

Устанавливаем зависимости
sudo apt-get install build-essential cmake doxygen libpolarssl-dev libnl-utils libmysqlclient-dev checkinstall libevent-dev libncurses5-dev libaio1 libaio-dev
Устанавливаем java, так как версия mysqlcluster начиная с 7.2.9, требует java, в противном случаем, нам необходимо отключиться поддержку java с помощью флага -DWITH_NDB_JAVA={ON|OFF}
su —
echo «deb https://ppa.launchpad.net/webupd8team/java/ubuntu trusty main» | tee /etc/apt/sources.list.d/webupd8team-java.list
echo «deb-src https://ppa.launchpad.net/webupd8team/java/ubuntu trusty main» | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv-keys EEA14886
apt-get update
apt-get install oracle-java8-installer
exit
Установка memchached так как собирать будем из исходников с поддержкой memchached
wget https://www.memcached.org/files/memcached-1.4.25.tar.gz
tar -xvf memcached-1.4.25.tar.gz
cd memcached-1.4.25/
./configure
make
sudo checkinstall

Установка mysqlcluster 7.4 из исходников на debian 8
wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.4/mysql-cluster-gpl-7.4.11.tar.gz
tar -xfv mysql-cluster-gpl-7.4.11.tar.gz
cd mysql-cluster-gpl-7.4.11-linux-glibc2.5-x86_64
mkdir build
cd build
cmake ..
make
sudo make install

Устанавливаем mysql server community из исходников на debian 8
sud groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.12.tar.gz
wget https://downloads.sourceforge.net/project/boost/boost/1.60.0/boost_1_60_0.tar.gz
tar -xvf boost_1_60_0.tar.gz
tar zxvf mysql-5.7.12.tar.gz
cd mysql-5.7.12
cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost_1_60_0
make
make install
cd /usr/local/mysql
chown -R mysql .
chgrp -R mysql .
scripts/mysql_install_db —user=mysql
chown -R root .
chown -R mysql data
cp support-files/my-medium.cnf /etc/my.cnf
bin/mysqld_safe —user=mysql &
cp support-files/mysql.server /etc/init.d/mysql.server

Установка mysql-cluster manager

4. Настройка

Для управления всей этой конфигурацией с помощью gui нам понадобиться одна машина с рабочим столом.

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *