Precisa de ajuda para configurar o MySql-Cluster com dois hosts

1

Obrigado pela sua resposta.

Eu preciso da sua ajuda para configurar o servidor MySQL-Clustering da seguinte maneira.

I have two hosts as,
1] 192.168.1.107
2] 192.168.1.125

Each hosts have node entries as,

On host: 192.168.1.107:
=======================
1] MGMT Node
2] DATA Node
3] MYSQL[API] Node

On host: 192.168.1.125:
=======================
1] MGMT Node
2] DATA Node
3] MYSQL[API] Node

Ambos os servidores são colocados atrás de "balanceador de carga" para gerenciar entrada conexões. Assim, as conexões de entrada ou solicitações para o servidor serão gerenciado (distribuído) pelo balanceador de carga para controlar o tráfego no servidor.

O balanceador de carga já está configurado de tal maneira, como se um servidor vai para baixo ou morto (devido à falha do sistema), então o balanceador de carga responsável por encaminhar todas as solicitações recebidas ou todas as solicitações ou conexões deve responder por um vivo (Servidor).

My current configuration files are as follows:
----------------------------------------------

"my.cnf" On host: 192.168.1.107:
================================
# The MySQL server
[mysql_cluster]
ndb-connectstring=192.168.1.107:1186

[ndbd]
connect-string=192.168.1.107:1186,192.168.1.125:1186

[ndb_mgm]
connect-string=192.168.1.107:1186

[ndb_mgmd]
config-file=/var/lib/mysql-cluster/config.ini

[mysqld]
ndbcluster
ndb-connectstring=192.168.1.107


"my.cnf" On host: 192.168.1.125:
================================
# The MySQL server
[mysql_cluster]
ndb-connectstring=192.168.1.125:1186

[ndbd]
connect-string=192.168.1.125:1186,192.168.1.107:1186

[ndb_mgm]
connect-string=192.168.1.125:1186

[ndb_mgmd]
config-file=/var/lib/mysql-cluster/config.ini

[mysqld]
ndbcluster
ndb-connectstring=192.168.1.125

AND

"config.ini" On host: 192.168.1.107:
====================================

[NDBD DEFAULT]
NoOfReplicas=2    # Number of replicas
DataMemory=3500M    # How much memory to allocate for data storage
IndexMemory=1000M   # How much memory to allocate for index storage
datadir=/usr/local/mysql/data   # Directory for this data node's datafiles
#MaxNoOfConcurrentOperations=1048576
#MaxNoOfConcurrentTransactions= 1048576
#MaxNoOfLocalOperations=1048576
#MaxNoOfConcurrentIndexOperations=16384
#MaxNoOfConcurrentScans=500
#LockPagesInMainMemory=Y
# TCP/IP options:
[TCP DEFAULT]
portnumber=2202   # This the default; however, you can use any

# Management process options:
[NDB_MGMD DEFAULT]
datadir=/var/lib/mysql-cluster  # Directory for MGM node logfiles

[NDB_MGMD]
hostname=192.168.1.107           # Hostname or IP address of MGM node

# Options for data node "A":
[NDBD]
id=3                             # (one [NDBD] section per data node)
hostname=192.168.1.107           # Hostname or IP address

# Options for data node "B":
[NDBD]
id=4
hostname=192.168.1.125          # Hostname or IP address

# SQL node options:
[MYSQLD]
id=5
hostname=192.168.1.107



"config.ini" On host: 192.168.1.125:
====================================
[NDBD DEFAULT]
NoOfReplicas=2    # Number of replicas
DataMemory=3500M    # How much memory to allocate for data storage
IndexMemory=1000M   # How much memory to allocate for index storage
datadir=/usr/local/mysql/data   # Directory for this data node's datafiles
#MaxNoOfConcurrentOperations=1048576
#MaxNoOfConcurrentTransactions= 1048576
#MaxNoOfLocalOperations=1048576
#MaxNoOfConcurrentIndexOperations=16384
#MaxNoOfConcurrentScans=500
#LockPagesInMainMemory=Y
# TCP/IP options:
[TCP DEFAULT]
portnumber=2202   # This the default; however, you can use any

# Management process options:
[NDB_MGMD DEFAULT]
datadir=/var/lib/mysql-cluster  # Directory for MGM node logfiles

[NDB_MGMD]
hostname=192.168.1.125           # Hostname or IP address of MGM node

# Options for data node "A":
[NDBD]
id=3                             # (one [NDBD] section per data node)
hostname=192.168.1.107           # Hostname or IP address

# Options for data node "B":
[NDBD]
id=4
hostname=192.168.1.125          # Hostname or IP address

# SQL node options:
[MYSQLD]
id=5
hostname=192.168.1.125

Com relação à configuração acima, estou tentando configurar o servidores como,

Para criar a replicação entre dois nós de dados. Significa se um servidor vai para baixo ou trava então automaticamente os mesmos dados devem ser atendidos por outro servidor ao vivo.

Em suma, os nós 'A' e 'B' devem ter replicação de dados entre eles e os mesmos dados devem ser servidos se um deles cair. Todas as entradas solicitação ou conexão são gerenciadas pelo balanceador de carga.

Eu tentei implementar o mesmo com a configuração acima usando seguindo os passos em ambos os servidores, mas existem alguns problemas como,

On host 192.168.1.107
=====================
1] [root@ns mysql-cluster]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini
2009-09-07 17:48:24 [MgmSrvr] INFO     -- NDB Cluster Management Server.
mysql-5.1.34 ndb-7.0.6
2009-09-07 17:48:24 [MgmSrvr] INFO     -- Loaded config from
'//mysql-cluster/ndb_1_config.bin.1'

2] [root@ns mysql-cluster]# /usr/local/mysql/bin/ndbd
2009-09-07 17:49:36 [ndbd] INFO     -- Configuration fetched from
'192.168.1.107:1186', generation: 1

3] [root@ns mysql-cluster]# mysqld_safe --ndbcluster
--ndb-connectstring=192.168.1.107 &
[1] 12189
[root@ns mysql-cluster]# 090907 17:50:17 mysqld_safe Logging to
'/var/lib/mysql/ns.err'.
090907 17:50:17 mysqld_safe Starting mysqld daemon with databases from
/var/lib/mysql

OUT PUT OF (ndb_mgm -e show):
=============================
[root@ns mysql-cluster]# ndb_mgm -e show
Connected to Management Server at: 192.168.1.107:1186
Cluster Configuration
---------------------
[ndbd(NDB)]        2 node(s)
id=3        @192.168.1.107  (mysql-5.1.34 ndb-7.0.6, Nodegroup: 0, Master)
id=4 (not connected, accepting connect from 192.168.1.125)

[ndb_mgmd(MGM)]        1 node(s)
id=1        @192.168.1.107  (mysql-5.1.34 ndb-7.0.6)

[mysqld(API)]        1 node(s)
id=5        @192.168.1.107  (mysql-5.1.34 ndb-7.0.6)



After that the same steps carried out,
On on host 192.168.1.125:
=========================

1] [root@test mysql-cluster]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini
2009-09-07 17:55:24 [MgmSrvr] INFO     -- NDB Cluster Management Server.
mysql-5.1.34 ndb-7.0.6
2009-09-07 17:55:24 [MgmSrvr] INFO     -- Loaded config from
'//mysql-cluster/ndb_1_config.bin.1'

2] [root@test mysql-cluster]# /usr/local/mysql/bin/ndbd
2009-09-07 17:55:59 [ndbd] INFO     -- Configuration fetched from
'192.168.1.125:1186', generation: 1

3] [root@test mysql-cluster]# mysqld_safe --ndbcluster
--ndb-connectstring=192.168.1.125 &
[2] 5276
[root@test mysql-cluster]# 090907 17:56:30 mysqld_safe Logging to
'/var/lib/mysql/test.testmachine.com.err'.
090907 17:56:30 mysqld_safe Starting mysqld daemon with databases from
/var/lib/mysql


OUT PUT OF (ndb_mgm -e show):
=============================

[root@test mysql-cluster]# ndb_mgm -e show
Connected to Management Server at: 192.168.1.125:1186
Cluster Configuration
---------------------
[ndbd(NDB)]        2 node(s)
id=3 (not connected, accepting connect from 192.168.1.107)
id=4        @192.168.1.125  (mysql-5.1.34 ndb-7.0.6, Nodegroup: 0, Master)

[ndb_mgmd(MGM)]        1 node(s)
id=1        @192.168.1.125  (mysql-5.1.34 ndb-7.0.6)

[mysqld(API)]        1 node(s)
id=5        @192.168.1.107  (mysql-5.1.34 ndb-7.0.6)

O resultado acima apresentado mostra que os dois nós de dados de cada servidor não são capazes de se comunicar uns com os outros. Então, por favor, me diga o correto configuração ou os passos apropriados para implementar o meu cenário perfeitamente.

Aguardando sua resposta.

    
por Dennis Williamson 08.09.2009 / 08:37

2 respostas

1

você tem um problema fundamental no design do seu cluster. O clustering do Mysql precisa de 3 servidores. Suponha que o fio que conecta os dois servidores seja cortado, mas as duas máquinas ainda estão funcionando. Se os dois continuarem em execução, eles terão dados diferentes e estarão fora de sincronia.

Portanto, com duas máquinas, ambas devem ser encerradas para evitar um cenário de divisão de cérebro em que cada nó no cluster tenha dados diferentes.

Você pode adicionar uma terceira máquina que executa somente o nó de gerenciamento (que usa recursos limitados) que funciona com os nós de dados para decidir como lidar com uma falha. Se o nó de gerenciamento desaparecer, mas os nós de dados ainda estiverem em execução, eles continuarão sendo executados.

Aqui estão as instruções para uma configuração de nó de gerenciamento de 2 nós de dados + 1: link

    
por 11.09.2009 / 21:55
0

Experimente este tutorial sobre howtoforge.

    
por 08.09.2009 / 09:35

Tags