Mysql Cluster com Debian 6

Foi disponibilizado no wiki um novo tutorial referente a instalação e configuração de um cluster MySQL utilizando Debian 6, a questão de utilizar o Debian 6 foi apenas referente a restrições existentes no momento dos testes, provavelmente funcionará sem dificuldades no Debian 7 , o link para o tutorial é http://tesliuk.com/wiki/index.php/MySQL_Cluster_no_Debian_6 , esta implementação possui até bastante documentação na internet, mas muitas vezes tendem a ser mais complicadas, eu optei por re-escrever da forma mais simples possivel para permitir um primeiro contato e entendimento da solução.

Esta solução em teoria permite que a implementação seja criada com distribuição geografica, ou seja, você pode colocar partes do cluster em locais diferentes para assim tentar minimizar tempo off durante algum evento ou catastrofe, basicamente a solução coloca todos os servidores com acesso a leitura e escrita no banco de dados, e você pode colocar um proxy para receber as conexões e então fazer o balanceamento entre os nodes do cluster.

Sem mais, espero que gostem do tutorial

referencias: 

http://tesliuk.com/wiki/index.php/MySQL_Cluster_no_Debian_6
http://tech.jocke.no/2011/03/13/mysql-cluster-how-to-with-load-balancing-failover/
http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-programs-ndb-mgmd.html
http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster.html
http://www.mysql.com/products/cluster/

Tags: 

Comentários

Dúvida Mysql Cluster

Bom Dia! estou tendo dúvida em criar uma estrutura mysql cluster com debian 7, mais com 3 servidores 1 mgm e 2 ndb. vc tem como me ajudar? estou vendo outros tutorias na net mais estou com grande dificuldade. estou com os 3 servidores instalado debian e se enxergando na rede ip mgm 192168.56.101 ndb01 192.168.56.201 e ndb02 192.168.56.202. preciso ter instalado o mysql server neles ou so baixar o módulos do mysql cluster vão servir.

Você por acaso tentou seguir

Você por acaso tentou seguir o tutorial ?

Veja bem, é demonstrado todo o processo no tutorial, siga o tutorial e você entenderá oque precisa ser feito.

Dúvida Mysql Cluster

e que esse tutoria não e bem o ambiente que preciso estou seguindo esse http://www.null-byte.org/development/mysql-ndb-cluster-setup-on-ubuntu-1.... configurei o Servidor de gerenciamento blz, o problema esta na hora de iniciar o mysql no nós ta dando esse erro /etc/init.d/mysql.server start" ele da erro "[FAIL....[....] The server quit without updating PID file (/usr/local/mysql/data/vmndb01.pid). ... failed!" no arquivo vmndb01.pid aparece assim - "140428 11:49:09 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
2014-04-28 11:49:28 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2014-04-28 11:49:28 5484 [Note] Plugin 'FEDERATED' is disabled.
2014-04-28 11:49:29 5484 [Note] NDB: Changed global value of binlog_format from STATEMENT to MIXED
2014-04-28 11:50:04 5484 [Warning] NDB: server id set to zero - changes logged to bin log with server id zero will be logged with another server id by slave mysqlds
2014-04-28 11:50:04 5484 [Note] Starting Cluster Binlog Thread
2014-04-28 11:50:04 5484 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2014-04-28 11:50:04 5484 [Note] InnoDB: The InnoDB memory heap is disabled
2014-04-28 11:50:04 5484 [Note] InnoDB: Mutexes and rw_locks use InnoDB's own implementation
2014-04-28 11:50:04 5484 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-04-28 11:50:04 5484 [Note] InnoDB: Using Linux native AIO
2014-04-28 11:50:04 5484 [Note] InnoDB: Not using CPU crc32 instructions
2014-04-28 11:50:05 5484 [Note] InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(136740864 bytes) failed; errno 12
2014-04-28 11:50:05 5484 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2014-04-28 11:50:05 5484 [ERROR] Plugin 'InnoDB' init function returned error.
2014-04-28 11:50:05 5484 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2014-04-28 11:50:05 5484 [ERROR] /usr/local/mysql/bin/mysqld: unknown variable 'NDB-connectstring=192.168.56.101'
2014-04-28 11:50:05 5484 [ERROR] Aborting

2014-04-28 11:50:05 5484 [Note] Binlog end
2014-04-28 11:50:05 5484 [Note] Stopping Cluster Utility thread
2014-04-28 11:50:05 5484 [Note] Stopping Cluster Binlog
2014-04-28 11:50:05 5484 [Note] Stopping Cluster Index Stats thread
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'partition'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'BLACKHOLE'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_METRICS'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_CMPMEM'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_CMP'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_LOCKS'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'INNODB_TRX'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'ARCHIVE'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'ndb_transid_mysql_connection_map'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'ndbinfo'
2014-04-28 11:50:06 5484 [Note] Shutting down plugin 'ndbcluster'
2014-04-28 11:50:06 5484 [Note] Stopping Cluster Index Statistics thread
2014-04-28 11:50:09 5484 [Note] Shutting down plugin 'MyISAM'
2014-04-28 11:50:09 5484 [Note] Shutting down plugin 'CSV'
2014-04-28 11:50:09 5484 [Note] Shutting down plugin 'MRG_MYISAM'
2014-04-28 11:50:09 5484 [Note] Shutting down plugin 'MEMORY'
2014-04-28 11:50:09 5484 [Note] Shutting down plugin 'sha256_password'
2014-04-28 11:50:09 5484 [Note] Shutting down plugin 'mysql_old_password'
2014-04-28 11:50:09 5484 [Note] Shutting down plugin 'mysql_native_password'
2014-04-28 11:50:09 5484 [Note] Shutting down plugin 'binlog'
2014-04-28 11:50:09 5484 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

e no mgm ao executar o comando ndb_mgm show aparece assim

Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.56.201 (mysql-5.6.17 ndb-7.3.5, Nodegroup: 0, *)
id=3 @192.168.56.202 (mysql-5.6.17 ndb-7.3.5, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.56.101 (mysql-5.6.17 ndb-7.3.5)

[mysqld(API)] 2 node(s)
id=4 (not connected, accepting connect from any host)
id=5 (not connected, accepting connect from any host)

/usr/local/mysql/bin/mysqld:

/usr/local/mysql/bin/mysqld: unknown variable 'NDB-connectstring=192.168.56.101'

Tente alterar para

ndb-connectstring=

Veja no meu tutorial como ficou

ndb-connectstring=node0.mycluster,node1.mycluster

Dúvida Mysql Cluster

fiz a alteração esse erro sumiu, mais ainda aparece o erro "[FAIL....[....] The server quit without updating PID file (/usr/local/mysql/data/vmndb01.pid). ... failed!" - See more at: http://tesliuk.com/node/35#comment-72

e no arquivo isso

2014-04-28 11:50:05 5484 [Note] InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(136740864 bytes) failed; errno 12
2014-04-28 11:50:05 5484 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2014-04-28 11:50:05 5484 [ERROR] Plugin 'InnoDB' init function returned error.
2014-04-28 11:50:05 5484 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2014-04-28 11:50:05 5484 [ERROR] Aborting

2014-04-28 11:50:05 5484 [Note] Binlog end

Bom, ele mostra o erro com al

Bom, ele mostra o erro com alocação de memória, e erro 12 é falta de memória, é bom você alterar os ajustes ou por mais memoria no servidor

erro na atualização do pid

Bom, adicionei no my.cnf o innodb_buffer_pool_size para 250M, mas o erro continua:

Starting MySQL
.........................................[....] The server quit without updating PID file (/opt/mysql[FAILer-5.6/data/debian02.pid). ... failed!

Log de erro:
150407 08:55:58 mysqld_safe Starting mysqld daemon with databases from /opt/mysql/server-5.6/data
2015-04-07 08:55:58 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaul$
2015-04-07 08:55:58 6390 [Warning] Buffered warning: Performance schema disabled (reason: init failed).

2015-04-07 08:55:58 6390 [Warning] The option innodb (skip-innodb) is deprecated and will be removed in a future $
2015-04-07 08:55:58 6390 [Note] Plugin 'FEDERATED' is disabled.
2015-04-07 08:55:58 6390 [Note] InnoDB: Using atomics to ref count buffer pool pages
2015-04-07 08:55:58 6390 [Note] InnoDB: The InnoDB memory heap is disabled
2015-04-07 08:55:58 6390 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-04-07 08:55:58 6390 [Note] InnoDB: Memory barrier is not used
2015-04-07 08:55:58 6390 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-04-07 08:55:58 6390 [Note] InnoDB: Using Linux native AIO
2015-04-07 08:55:58 6390 [Note] InnoDB: Not using CPU crc32 instructions
2015-04-07 08:55:58 6390 [Note] InnoDB: Initializing buffer pool, size = 250.0M
InnoDB: mmap(268288000 bytes) failed; errno 12
2015-04-07 08:55:58 6390 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2015-04-07 08:55:58 6390 [ERROR] Plugin 'InnoDB' init function returned error.
2015-04-07 08:55:58 6390 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2015-04-07 08:55:58 6390 [Note] NDB: Changed global value of binlog_format from STATEMENT to MIXED
2015-04-07 08:56:00 6223 [Warning] NDB: server id set to zero - changes logged to bin log with server id zero wil$
2015-04-07 08:56:00 6223 [Note] NDB Binlog: Starting...
2015-04-07 08:56:00 6223 [Note] NDB Binlog: Started
2015-04-07 08:56:00 6223 [Note] NDB Binlog: Setting up
2015-04-07 08:56:00 6223 [Note] NDB Binlog: Created schema Ndb object, reference: 0x0, name: 'Ndb Binlog schema c$
2015-04-07 08:56:00 6223 [Note] NDB Binlog: Created injector Ndb object, reference: 0x0, name: 'Ndb Binlog data change$
2015-04-07 08:56:00 6223 [Note] NDB Binlog: Setup completed
2015-04-07 08:56:00 6223 [Note] NDB Binlog: Wait for server start completed
2015-04-07 08:56:00 6223 [Note] NDB Util: Starting...
2015-04-07 08:56:00 6223 [Note] NDB Util: Wait for server start completed
2015-04-07 08:56:00 6223 [ERROR] Unknown/unsupported storage engine: InnoDB
2015-04-07 08:56:00 6223 [ERROR] Aborting

2015-04-07 08:56:00 6223 [Note] Binlog end
2015-04-07 08:56:00 6223 [Note] NDB Util: Stop
2015-04-07 08:56:00 6223 [Note] NDB Util: Wakeup
2015-04-07 08:56:00 6223 [Note] NDB Index Stat: Starting...
2015-04-07 08:56:00 6223 [Note] NDB Index Stat: Wait for server start completed
2015-04-07 08:56:01 6223 [Note] NDB Util: Stopped

Em outro momento, criei o arquivo .pid e iniciei o mysqld_safe e deu certo, porém não sei como. As permissões estão ok:
#ls -l data/
total 12328
-rwxr-xr-x 1 mysql mysql 56 Mar 30 12:07 auto.cnf
-rw-r----- 1 mysql root 12386 Abr 7 08:56 debian02.err
-rwxr-xr-x 1 mysql mysql 12582912 Abr 2 14:49 ibdata1
drwxr-xr-x 2 mysql mysql 4096 Abr 2 14:36 mysql
drwxr-xr-x 2 mysql mysql 4096 Mar 27 09:45 ndbinfo
drwxr-xr-x 2 mysql mysql 4096 Mar 27 09:45 performance_schema
drwxr-xr-x 2 mysql mysql 4096 Mar 27 09:45 test

Dúvida Mysql Cluster

Olá estou com uma dificuldade ao configurar o nó de gerenciamento ao iniciar o serviço no comando ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/ retorna o erro "bash: /usr/bin/ndb_mgmd no such file or directory" sendo fiz a copia dos binários e dei permissão neles. o que pode ser ?

Digite o comando which ndb_mg

Digite o comando which ndb_mgmd e veja se ele acha, se ele ta dando comand not found pode ser por nao achar ou por voce ter colocado o binario errado (rodando linux 64 e pos binario de 32 ou vice versa) , de um ldd /usr/bin/ndb_mgmd e veja a saida tb , também pode usar o comando file /usr/bin/ndb_mgmd

Consulta

Mike, bom dia.

Muito bom o seu post e tutorial.

Caso tenha dúvida posso lhe qustionar?

Fique a vontade cassio, claro

Fique a vontade cassio, claro que a resposta vai vir no tempo que for possível e claro se eu souber responder, mas sinta-se avontade em perguntar.

Incorrect information in file

Oi, bom dia!

A princípio deu certo, mas depois de reiniciar as máquinas e tentar iniciar os processos novamente, ocorreu o seguinte erro e não consigo mais startar o mysql:
2015-06-10 11:01:44 30712 [ERROR] /opt/mysql/server-5.6/bin/mysqld: Incorrect information in file: './mysql/user.frm'
2015-06-10 11:01:44 30712 [ERROR] Fatal error: Can't open and lock privilege tables: Got error 157 'Unknown error code' from NDBCLUSTER
150610 11:01:44 mysqld_safe mysqld from pid file /opt/mysql/server-5.6/data/debian02.pid ended

Já experimentei criar o arquivo pid com as devidas permissões do mysql e nada. As permissões de acesso ao diretório está ok. Quando inicio o MySQL com skip-grant-tables, não consigo modificar nada a fim de iniciar o mesmo. Como devo proceder neste caso?

Comentar

Filtered HTML

  • Endereços de páginas de internet e emails viram links automaticamente.
  • Tags HTML permitidas: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Quebras de linhas e parágrafos são feitos automaticamente.

Plain text

  • Nenhuma tag HTML permitida.
  • Endereços de páginas de internet e emails viram links automaticamente.
  • Quebras de linhas e parágrafos são feitos automaticamente.
Atualizar Type the characters you see in this picture. Type the characters you see in the picture; if you can't read them, submit the form and a new image will be generated. Not case sensitive.  Switch to audio verification.