mysql cluster quick start webinar
DESCRIPTION
TRANSCRIPT
<Insert Picture Here>
MySQL Cluster – Quick Start & Scaling for the Web
Henrique Leandro ([email protected]) Engenheiro MySQL
Marcelo Souza ([email protected]) MySQL Brasil
<Insert Picture Here>
Agenda
• Iniciando com Cluster
– Instalar, Configura, Executar & Testar o software
• Dimensionamento para Web
– Revisão dos requisitos para HA & Scaling
– Expandir & implementar a configuração de varios “hosts”
– Dimensionar dinamicamente sem prejudicar o Cluster
Open-source powers the Web & the Network
MySQL: Serving Key Markets & Industry Leaders
Enterprise 2.0TelecommunicationsOn Demand, SaaS, Hosting
Web / Web 2.0 OEM / ISV's
Metas:
•Alta Performance: Dimensionamento de escrita & Baixa Latencia
• 99.999% Disponibilidade
•Baixo Custo TCO
Introducing MySQL Cluster
• tabela hash distribuída apoiado por um modelo relacional ACID
• Arquitetura shared-nothing, expansão em hardware de baixo custo
• implementado como um mecanismo de armazenamento conectável para o servidor MySQL, com acesso directo através de APIs adicionais incorporados.
• particionamento de dados automatico ou configurável através de nós
• redundância de dados síncrona
• segundo sub-fail-over e recuperação de auto-cura
• replicação geográfica
• dados armazenados na memória principal ou no disco (configurável por coluna)
• Operação de Check Point de dados da memória para o disco
• operações on-line (ou seja, adicionar-nós, as atualizações de esquema, manutenção, etc)
MySQL Cluster – Users & ApplicationsHA, Transactional Services: Web & Telecoms
http://www.mysql.com/customers/cluster/
• User & Subscriber Databases
• Service Delivery Platforms
• Application Servers
• Web Session Stores
• eCommerce
• VoIP, IPTV & VoD
• Mobile Content Delivery
• On-Line app stores and portals
• On-Line Gaming
• DNS/DHCP for Broadband
• Payment Gateways
• Data Store for LDAP Directories
MySQL Cluster Data Nodes
MySQL Cluster Application Nodes
MySQL Cluster Mgmt
Clients
MySQL Cluster ArchitectureBancos Paralelos sem SPOF: Alta Leitura & Performance na Escrita & 99.999%
uptime
MySQL Cluster Mgmt
Cenários que vamos seguir:
Criar uma simples, single-node Cluster no inicio do Desenvolvimento
DataNode
192.168.0.31
MySQLServer
MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
31 32
33 34 Extender para Configuração HA para Homologação
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode mysqld Mgmt
Node
Dimensionar Cluster on-line apartir da demanda de suas aplicações
Criando um host Cluster simples (não recomendado para Produção)
• Todos os nós sendo executados em uma unica maquina• Instale no diretorio
home, nao se preocupe com permissões
DataNode
192.168.0.31
MySQLServer
MgmtNode
DataNode
Revisão: Construindo um Cluster simples do zero
Download ultima versão GA OS/architecture
http://www.mysql.com/downloads/cluster/#downloads
Instale software e configure diretorios
192.168.0.31
$ tar xvf Downloads/mysql-cluster-gpl-7.1.4b-linux-i686-glibc23.tar.gz
$ ln -s mysql-cluster-gpl-7.1.4b-linux-i686-glibc23/ mysqlc
$ mkdir my_cluster my_cluster/ndb_data my_cluster/mysqld_data my_cluster/conf
DataNode
192.168.0.31
MySQLServer
MgmtNode
DataNode
Criar arquivos de configuração (para MySQL Server)
192.168.0.31
$ vi my_cluster/conf/my.cnf
[mysqld]ndbclusterdatadir=/home/user1/my_cluster/mysqld_databasedir=/home/user1/mysqlcport=5000
DataNode
192.168.0.31
MySQLServer
MgmtNode
DataNode
Criar arquivo de configuração (para Cluster)192.168.0.31
$ vi my_cluster/conf/config.ini
[ndb_mgmd]hostname=localhostdatadir=/home/user1/my_cluster/ndb_dataid=1
[ndbd default]noofreplicas=2datadir=/home/user1/my_cluster/ndb_data
[ndbd]hostname=localhostid=3
[ndbd]hostname=localhostid=4
[mysqld]id=50
DataNode
192.168.0.31
MySQLServer
MgmtNode
DataNode
Criar o banco “mysql”
192.168.0.31
$ cd mysqlc
[mysqlc]$ scripts/mysql_install_db --no-defaults --datadir=$HOME/my_cluster/mysqld_data/
DataNode
192.168.0.31
MySQLServer
MgmtNode
DataNode
Inicie os nós de gerenciamento e então os nós de dados
192.168.0.31
$ cd ~/my_cluster
[my_cluster]$ $HOME/mysqlc/bin/ndb_mgmd -f conf/config.ini --initial --configdir=$HOME/my_cluster/conf/
[my_cluster]$ $HOME/mysqlc/bin/ndbd -c localhost:1186
[my_cluster]$ $HOME/mysqlc/bin/ndbd -c localhost:1186
DataNode
192.168.0.31
MySQLServer
MgmtNode
DataNode
Certifique que nós estão online antes de iniciar o MySQL Server
192.168.0.31
$ $HOME/mysqlc/bin/ndb_mgm -e showConnected to Management Server at: localhost:1186Cluster Configuration---------------------[ndbd(NDB)] 2 node(s)id=3 @127.0.0.1 (mysql-5.1.44 ndb-7.1.3, Nodegroup: 0, Master)id=4 @127.0.0.1 (mysql-5.1.44 ndb-7.1.3, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)id=1 @127.0.0.1 (mysql-5.1.44 ndb-7.1.3)
[mysqld(API)] 1 node(s)id=50 (not connected, accepting connect from any host)
DataNode
192.168.0.31
MySQLServer
MgmtNode
DataNode
Inicie o MySQL Server e teste o Banco
192.168.0.31
[my_cluster]$ $HOME/mysqlc/bin/mysqld --defaults-file=conf/my.cnf &
[my_cluster]$ $HOME/mysqlc/bin/mysql -h 127.0.0.1 -P 5000 -u root
mysql> create database clusterdb;use clusterdb;
mysql> create table simples (id int not null primary key) engine=ndb;
mysql> insert into simples values (1),(2),(3),(4);
mysql> select * from simples;+----+
| id |+----+| 1 || 2 || 4 || 3 |+----+
DataNode
192.168.0.31
MySQLServer
MgmtNode
DataNode
Extender o Cluster para que rode em multiplos servidores
• Solução de instancia unica é ideal para Iniciar em MySQL Cluster mas não é tolerante a falhas• Confirguração Minima requer:– 2x(Data Node + MySQL Server) + 1xManagement Node
• Mais Tipica “Inicio de um Cluster”:– 2xData Node + 2x(MySQL Server + Management Node)
DataNode
mysqld MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
3131 32
33 34
Extender o Cluster para Alta Disponibilidade
DataNode
mysqld MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
3131 32
33 34
Instalar s/w & criar diretorios para 192.168.0.33/34
DataNode
mysqld MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
3131 32
33 34
192.168.0.33
$ tar xvf Downloads/mysql-cluster-gpl-7.1.4b-linux-i686-glibc23.tar.gz
$ ln -s mysql-cluster-gpl-7.1.4b-linux-i686-glibc23/ mysqlc
$ mkdir my_cluster my_cluster/mysqld_data my_cluster/conf
192.168.0.34
$ tar xvf Downloads/mysql-cluster-gpl-7.1.4b-linux-i686-glibc23.tar.gz
$ ln -s mysql-cluster-gpl-7.1.4b-linux-i686-glibc23/ mysqlc
$ mkdir my_cluster my_cluster/mysqld_data my_cluster/conf
Instalar s/w & criar diretorios para 192.168.0.32
DataNode
mysqld MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
3131 32
33 34
192.168.0.32
$ tar xvf Downloads/mysql-cluster-gpl-7.1.4b-linux-i686-glibc23.tar.gz
$ ln -s mysql-cluster-gpl-7.1.4b-linux-i686-glibc23/ mysqlc
$ mkdir my_cluster my_cluster/ndb_data
Iniciar o “mysql” (para processos mysqld)
DataNode
mysqld MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
3131 32
33 34
192.168.0.33
$ cd mysqlc
[mysqlc] $ scripts/mysql_install_db --no-defaults --datadir=$HOME/my_cluster/mysqld_data/
192.168.0.34
$ cd mysqlc
[mysqlc] $ scripts/mysql_install_db --no-defaults --datadir=$HOME/my_cluster/mysqld_data/
Criar o Cluster config files
DataNode
mysqld MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
3131 32
33 34
192.168.0.33
$ cd ~/my_cluster/conf/
[conf] $ vi config.ini
[ndb_mgmd]hostname=192.168.0.33datadir=/home/user1/my_cluster/ndb_dataid=1
[ndb_mgmd]hostname=192.168.0.34datadir=/home/user1/my_cluster/ndb_dataid=2
Criar o Cluster config files (continued)
DataNode
mysqld MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
3131 32
33 34
192.168.0.33
...
[ndbd default]noofreplicas=2datadir=/home/user1/my_cluster/ndb_data
[ndbd]hostname=192.168.0.31id=3
[ndbd]hostname=192.168.0.32id=4
[mysqld]id=50
[mysqld]id=51
Criar o Cluster config files (continued)
DataNode
mysqld MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
3131 32
33 34
192.168.0.33
[conf] $ vi my.cnf
[mysqld]ndbclusterdatadir=/home/user1/my_cluster/mysqld_databasedir=/home/user1/mysqlcport=5000
[conf] $ sftp 192.168.0.34
sftp> cd my_cluster/confsftp> put config.inisftp> put my.cnfsftp> bye
192.168.0.31
$ $HOME/mysqlc/bin/mysqladmin -u root -h 127.0.0.1 -P 5000 shutdown
$ $HOME/mysqlc/bin/ndb_mgm –e “START BACKUP”
$ $HOME/mysqlc/bin/ndb_mgm –e “SHUTDOWN”
Faça um backup e faça um shut-down no Cluster
DataNode
mysqld MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
3131 32
33 34
Iniciar os nós de gerenciamentos
DataNode
mysqld MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
3131 32
33 34
192.168.0.33
$ cd ~/my_cluster
[my_cluster] $ $HOME/mysqlc/bin/ndb_mgmd -f conf/config.ini --initial --configdir=$HOME/my_cluster/conf/
192.168.0.34
$ cd ~/my_cluster
[my_cluster] $ $HOME/mysqlc/bin/ndb_mgmd -f conf/config.ini --initial --configdir=$HOME/my_cluster/conf/
Iniciar os Nós de Dados
DataNode
mysqld MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
3131 32
33 34
192.168.0.31
$ $HOME/mysqlc/bin/ndbd -c 192.168.0.33:1186,192.168.0.34:1186 --initial
192.168.0.32
$ $HOME/mysqlc/bin/ndbd -c 192.168.0.33:1186,192.168.0.34:1186 --initial
Esperar até que os nós estejam prontos
DataNode
mysqld MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
3131 32
33 34
192.168.0.33
$ $HOME/mysqlc/bin/ndb_mgm -e "SHOW“Connected to Management Server at: localhost:1186
Cluster Configuration---------------------
[ndbd(NDB)] 2 node(s)id=3 @192.168.0.31 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0, Master)id=4 @192.168.0.32 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0)
[ndb_mgmd(MGM)] 2 node(s)id=1 @192.168.0.33 (mysql-5.1.44 ndb-7.1.4)id=2 @192.168.0.34 (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)] 2 node(s)id=50 (not connected, accepting connect from any host)id=51 (not connected, accepting connect from any host)
Restore database
DataNode
mysqld MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
3131 32
33 34
192.168.0.31
$ $HOME/mysqlc/bin/ndb_restore -c 192.168.0.33:1186 -b 1 -n 3 -r -m $HOME/my_cluster/ndb_data/BACKUP/BACKUP-1/
$ $HOME/mysqlc/bin/ndb_restore -c 192.168.0.33:1186 -b 1 -n 4 -r $HOME/my_cluster/ndb_data/BACKUP/BACKUP-1/
Start up MySQL Servers
DataNode
mysqld MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
3131 32
33 34
192.168.0.33
$ cd ~/my_cluster
[my_cluster] $ $HOME/mysqlc/bin/mysqld --defaults-file=conf/my.cnf &
192.168.0.34
$ cd ~/my_cluster
[my_cluster] $ $HOME/mysqlc/bin/mysqld --defaults-file=conf/my.cnf &
Verificar se os dados continuam lá
DataNode
mysqld MgmtNode
DataNode
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
3131 32
33 34
192.168.0.33
$ $HOME/mysqlc/bin/mysql -h 127.0.0.1 -P 5000 -u root
mysql> create database clusterdb;use clusterdb;
mysql> select * from simples;+----+| id |+----+| 3 || 1 || 2 || 4 |+----+
Adicionar nós On-line
• Proximo passo sera adicionar dois novos nós em 2 servidores diferentes e 2 nós em servidores ja existentes.• O Banco de dados ficara disponivel para
aplicação o tempo todo
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
31 32
33 34
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode mysqld Mgmt
Node
Adicionando Nós On-line
DataNode
DataNode
mysqld MgmtNode mysqld Mgmt
Node
31 32
33 34
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode mysqld Mgmt
Node
Instalar s/w & criar diretorios para 192.168.0.33/34
192.168.0.35
$ tar xvf Downloads/mysql-cluster-gpl-7.1.4b-linux-i686-glibc23.tar.gz
$ ln -s mysql-cluster-gpl-7.1.4b-linux-i686-glibc23/ mysqlc
$ mkdir my_cluster my_cluster/ndb_data
192.168.0.36
$ tar xvf Downloads/mysql-cluster-gpl-7.1.4b-linux-i686-glibc23.tar.gz
$ ln -s mysql-cluster-gpl-7.1.4b-linux-i686-glibc23/ mysqlc
$ mkdir my_cluster my_cluster/ndb_data
DataNode
DataNode
mysqld MgmtNode
mysqld MgmtNode
31 32
33 34
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode
mysqld MgmtNode
Iniciar o “mysql” (mysqld)
192.168.0.33
[my_cluster] $ mkdir mysqld_data2
[my_cluster] $ cd ../mysqlc
[mysqlc] $ scripts/mysql_install_db --no-defaults --datadir=$HOME/my_cluster/mysqld_data2/
[mysqlc] $ cd ../my_cluster
192.168.0.34
[my_cluster] $ mkdir mysqld_data2
[my_cluster] $ cd ../mysqlc
[mysqlc] $ scripts/mysql_install_db --no-defaults --datadir=$HOME/my_cluster/mysqld_data2/
[mysqlc] $ cd ../my_cluster
DataNode
DataNode
mysqld MgmtNode
mysqld MgmtNode
31 32
33 34
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode
mysqld MgmtNode
Altere o Cluster config.ini
DataNode
DataNode
mysqld MgmtNode
mysqld MgmtNode
31 32
33 34
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode
mysqld MgmtNode
192.168.0.33
$ cd ~/my_cluster/conf/
[conf] $ vi config.ini
...
[ndbd]hostname=192.168.0.35id=5
[ndbd]hostname=192.168.0.36id=6
[mysqld]id=52
[mysqld]id=53
....
Criar config file para os novos servidores MySQL
DataNode
DataNode
mysqld MgmtNode
mysqld MgmtNode
31 32
33 34
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode
mysqld MgmtNode
192.168.0.33
[conf] $ vi my2.cnf
[mysqld]ndbclusterdatadir=/home/user1/my_cluster/mysqld_data2basedir=/home/user1/mysqlcport=5001
Duplicar config files para outros nós de gerenciamento
DataNode
DataNode
mysqld MgmtNode
mysqld MgmtNode
31 32
33 34
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode
mysqld MgmtNode
192.168.0.33
[conf] $ sftp 192.168.0.34
sftp> cd my_cluster/confsftp> put config.inisftp> put my2.cnfsftp> bye
Restart Nós de gerenciamento
DataNode
DataNode
mysqld MgmtNode
mysqld MgmtNode
31 32
33 34
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode
mysqld MgmtNode
192.168.0.33
[conf] $ cd ..
[my_cluster] $ $HOME/mysqlc/bin/ndb_mgm -e “2 STOP“
[my_cluster] $ $HOME/mysqlc/bin/ndb_mgm -e “1 STOP“
[my_cluster] $ $HOME/mysqlc/bin/ndb_mgmd -f conf/config.ini --initial --configdir=$HOME/my_cluster/conf/
192.168.0.34
[my_cluster] $ $HOME/mysqlc/bin/ndb_mgmd -f conf/config.ini --initial --configdir=$HOME/my_cluster/conf/
Restart Nós de dados existentes
DataNode
DataNode
mysqld MgmtNode
mysqld MgmtNode
31 32
33 34
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode
mysqld MgmtNode
192.168.0.33
[my_cluster] $ $HOME/mysqlc/bin/ndb_mgm -e “3 RESTART“
# Wait until Node 3 has restarted
[my_cluster] $ $HOME/mysqlc/bin/ndb_mgm -e “SHOW“[ndbd(NDB)] 4 node(s)id=3 @192.168.0.31 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0)id=4 @192.168.0.32 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0, Master)id=5 (not connected, accepting connect from 192.168.0.35)id=6 (not connected, accepting connect from 192.168.0.36)
[ndb_mgmd(MGM)] 2 node(s)id=1 @192.168.0.33 (mysql-5.1.44 ndb-7.1.4)id=2 @192.168.0.34 (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)] 4 node(s)id=50 @192.168.0.34 (mysql-5.1.44 ndb-7.1.4)id=51 @192.168.0.33 (mysql-5.1.44 ndb-7.1.4)id=52 (not connected, accepting connect from any host)id=53 (not connected, accepting connect from any host)
[my_cluster] $ $HOME/mysqlc/bin/ndb_mgm -e “4 RESTART“
Restart MySQL Servers existentes
DataNode
DataNode
mysqld MgmtNode
mysqld MgmtNode
31 32
33 34
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode
mysqld MgmtNode
192.168.0.33
[my_cluster] $ $HOME/mysqlc/bin/mysqladmin -u root -h 127.0.0.1 -P 5000 shutdown
[my_cluster] $ $HOME/mysqlc/bin/mysqld --defaults-file=conf/my.cnf &
192.168.0.34
[my_cluster] $ $HOME/mysqlc/bin/mysqladmin -u root -h 127.0.0.1 -P 5000 shutdown
[my_cluster] $ $HOME/mysqlc/bin/mysqld --defaults-file=conf/my.cnf &
Start no novo MySQL Servers
DataNode
DataNode
mysqld MgmtNode
mysqld MgmtNode
31 32
33 34
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode
mysqld MgmtNode
192.168.0.33
[my_cluster] $ $HOME/mysqlc/bin/mysqld --defaults-file=conf/my2.cnf &
192.168.0.34
[my_cluster] $ $HOME/mysqlc/bin/mysqld --defaults-file=conf/my2.cnf &
Start no nós de dados
192.168.0.35
$ $HOME/mysqlc/bin/ndbd -c 192.168.0.33:1186,192.168.0.34:1186 --initial
192.168.0.36
$ $HOME/mysqlc/bin/ndbd -c 192.168.0.33:1186,192.168.0.34:1186 --initial
DataNode
DataNode
mysqld MgmtNode
mysqld MgmtNode
31 32
33 34
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode
mysqld MgmtNode
Aguarde a inicialização
DataNode
DataNode
mysqld MgmtNode
mysqld MgmtNode
31 32
33 34
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode
mysqld MgmtNode
192.168.0.33
[my_cluster] $ $HOME/mysqlc/bin/ndb_mgm -e “SHOW“[ndbd(NDB)] 4 node(s)id=3 @192.168.0.31 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0, Master)id=4 @192.168.0.32 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0)id=5 @192.168.0.35 (mysql-5.1.44 ndb-7.1.4, no nodegroup)id=6 @192.168.0.36 (mysql-5.1.44 ndb-7.1.4, no nodegroup)
[ndb_mgmd(MGM)] 2 node(s)id=1 @192.168.0.33 (mysql-5.1.44 ndb-7.1.4)id=2 @192.168.0.34 (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)] 4 node(s)id=50 @192.168.0.33 (mysql-5.1.44 ndb-7.1.4)id=51 @192.168.0.34 (mysql-5.1.44 ndb-7.1.4)id=52 @192.168.0.33 (mysql-5.1.44 ndb-7.1.4)id=53 @192.168.0.34 (mysql-5.1.44 ndb-7.1.4)
[my_cluster] $ $HOME/mysqlc/bin/ndb_mgm -e “CREATE NODEGROUP 5,6“
Confirme os novos nós em seus grupos
DataNode
DataNode
mysqld MgmtNode
mysqld MgmtNode
31 32
33 34
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode
mysqld MgmtNode
192.168.0.33
[my_cluster] $ $HOME/mysqlc/bin/ndb_mgm -e “SHOW“[ndbd(NDB)] 4 node(s)id=3 @192.168.0.31 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0, Master)id=4 @192.168.0.32 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0)id=5 @192.168.0.35 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 1)id=6 @192.168.0.36 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 1)
[ndb_mgmd(MGM)] 2 node(s)id=1 @192.168.0.33 (mysql-5.1.44 ndb-7.1.4)id=2 @192.168.0.34 (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)] 4 node(s)id=50 @192.168.0.33 (mysql-5.1.44 ndb-7.1.4)id=51 @192.168.0.34 (mysql-5.1.44 ndb-7.1.4)id=52 @192.168.0.33 (mysql-5.1.44 ndb-7.1.4)id=53 @192.168.0.34 (mysql-5.1.44 ndb-7.1.4)
Reparticione as tabelas ja existentes
DataNode
DataNode
mysqld MgmtNode
mysqld MgmtNode
31 32
33 34
DataNode
DataNode
mysqld mysqld
31 32
33 34
DataNode
DataNode35 36
mysqld MgmtNode
mysqld MgmtNode
192.168.0.33
$ $HOME/mysqlc/bin/mysql -h 127.0.0.1 -P 5000 -u root
mysql> use clusterdb;
mysql> ALTER ONLINE TABLE simples REORGANIZE PARTITION;
mysql> OPTIMIZE TABLE simples;
Recursos
• Download MySQL Cluster software and Quick Start Guides: http://www.mysql.com/downloads/cluster/
• Video demo of installing, configuring and running a single-host Cluster: http://www.mysql.com/products/database/cluster/cluster_install_demo_linux.html
• Recording of MySQL Cluster deployment best practices webinar: http://www.mysql.com/news-and-events/on-demand-webinars/display-od-559.html
• MySQL Cluster Architecture & Features whitepaper: http://www.mysql.com/why-mysql/white-papers/mysql_wp_cluster7_architecture.php
<Insert Picture Here>
Questions [email protected]