SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 28.04.2009 14:09:55

ginger22
Участник
Зарегистрирован: 01.11.2007
Сообщений: 8

правильная постройка кластера

Решил в очередной раз в конторе поднять кластер мускуля.
Что надо - отказоустойчивый кластер на двух серверах, ну, типа как зеркало.
Дано - два сервера в одном датацентре, на обоих поднял по ноде, запустил менеджмент ноду на одном из серверов, в другом дата-центре запустил еще одну менеджмент ноду, на всякий случай. Количество реплик у меня равно 1.
Но при попытке затушить из админке одной из нод система ругается что кластер может упасть, если прибивать руками ноду - то кластер на самом деле падает. Что я делаю не так? Мне надо что бы в случае если падает одна нода - все бы работало дальше.

Вот мой конфиг, с учетом того, что я его даже еще пока и не начал тюнить:

[NDBD DEFAULT]
NoOfReplicas=1
DataMemory=80M    # How much memory to allocate for data storage
IndexMemory=18M   # How much memory to allocate for index storage

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[TCP DEFAULT]

[ndb_mgmd]
hostname=10.25.4.33

[ndb_mgmd]
hostname=10.25.2.117

[NDBD]
HostName = 10.25.4.33
DataDir=/home/db/mysql-cluster
BackupDataDir=/home/db/mysql-cluster/backup
DataMemory=1024M

[NDBD]
HostName = 10.25.4.43
DataDir=/home/db/mysql-cluster
BackupDataDir=/home/db/mysql-cluster/backup
DataMemory=2048M

Отредактированно ginger22 (28.04.2009 14:10:33)

Неактивен

 

#2 28.04.2009 15:54:47

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: правильная постройка кластера

Кластер нельзя поднять на двух серверах.

Самый простой способ это понять такой. Представьте себе кластер из трех машинок. Если одна
из них теряет связь с двумя другими, но две другие по прежнему друг друга видят, то кластер
выживает: считается, что одна из машинок отцепилась, и ничего в этом страшного нет.

В случае же с двумя машинками, получается, что каждая из них считает, что она «отцепилась
от основного кластера». В результате, куска кластера, который «остался жив» — нету.

Неактивен

 

#3 29.04.2009 11:33:57

ginger22
Участник
Зарегистрирован: 01.11.2007
Сообщений: 8

Re: правильная постройка кластера

Я для этого и поднимаю две менеджмент ноды, одна из которых будет в другом датацентре, а вторая в этом же датацентре но на третьем сервере.

Неактивен

 

#4 29.04.2009 11:38:20

ginger22
Участник
Зарегистрирован: 01.11.2007
Сообщений: 8

Re: правильная постройка кластера

а так вообщем то я разобрался, реплик надо было делать не 1 а 2.
Единственное что меня стало напрягать - так это то что менеджмент нода криво пишет свои файлы при работе.
поясню - откуда ее запускаешь, туда она и пишет.

Вот к примеру мой скрипт для запуска во FreeBSD:

#!/bin/sh
#
# PROVIDE: mysql-cluster
# REQUIRE: DAEMON
# KEYWORD: shutdown

#
# DO NOT CHANGE THESE DEFAULT VALUES HERE
# SET THEM IN THE /etc/rc.conf FILE
#
ndb_mgmd_enable=${ndb_mgmd_enable-"NO"}
ndb_mgmd_flags=${ndb_mgmd_flags-""}
ndb_mgmd_pidfile=${ndb_mgmd_pidfile-"/var/lib/mysql-cluster/ndb_4.pid"}

. /etc/rc.subr

name="ndb_mgmd"
rcvar=`set_rcvar`
command="/usr/local/libexec/ndb_mgmd"

load_rc_config $name

pidfile="${ndb_mgmd_pidfile}"

start_cmd="echo \"Starting ${name}.\"; /usr/bin/nice -5 ${command} ${ndb_mgmd_flags} ${command_args}"

run_rc_command "$1"

иногда пишет прямо в каталог /usr/local/etc/rc.d, иногда в свой родной каталог /var/lib/mysql-cluster
закономерности так и не нашел. А с описанием pid файла вообще непонятно, как она ему id циферку иногда присваивает, такое чувство что рандомно.

Вот мой новый конфиг:



[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=80M    # How much memory to allocate for data storage
IndexMemory=18M   # How much memory to allocate for index storage
DataDir=/home/db/mysql-cluster
BackupDataDir=/home/db/mysql-cluster/backup

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[TCP DEFAULT]

[ndb_mgmd]
id=3
hostname=10.25.4.108

[ndb_mgmd]
id=4
hostname=10.25.2.117

[NDBD]
id=1
HostName = 10.25.4.33
DataMemory=1024M

[NDBD]
id=2
HostName = 10.25.4.43
DataMemory=2048M

[MYSQLD]
id=5
[MYSQLD]
id=6

Неактивен

 

#5 29.04.2009 18:59:34

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: правильная постройка кластера

В новом конфиге 4 машинки, а не 2 wink

По поводу файликов — напишу свое традиционное отношение к FreeBSD. FreeBSD не умеет готовить
MySQL. Они делают плохие скрипты, они плохо собирают сервер из портов. Если хотите запустить
MySQL на FreeBSD, берите официальные исходники с официального сервера, и собирайте их
самостоятельно smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson