Mysql cluster quick start webinar

50
<Insert Picture Here> MySQL Cluster – Quick Start & Scaling for the Web Henrique Leandro ([email protected]) Engenheiro MySQL Marcelo Souza ([email protected]) MySQL Brasil

description

 

Transcript of Mysql cluster quick start webinar

Page 1: Mysql cluster quick start webinar

<Insert Picture Here>

MySQL Cluster – Quick Start & Scaling for the Web

Henrique Leandro ([email protected]) Engenheiro MySQL

Marcelo Souza ([email protected]) MySQL Brasil

Page 2: Mysql cluster quick start webinar

<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

Page 3: Mysql cluster quick start webinar

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

Page 4: Mysql cluster quick start webinar

Metas:

•Alta Performance: Dimensionamento de escrita & Baixa Latencia

• 99.999% Disponibilidade

•Baixo Custo TCO

Page 5: Mysql cluster quick start webinar

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)

Page 6: Mysql cluster quick start webinar

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

Page 7: Mysql cluster quick start webinar

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

Page 8: Mysql cluster quick start webinar

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

Page 9: Mysql cluster quick start webinar

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

Page 10: Mysql cluster quick start webinar

Revisão: Construindo um Cluster simples do zero

Page 11: Mysql cluster quick start webinar

Download ultima versão GA OS/architecture

http://www.mysql.com/downloads/cluster/#downloads

Page 12: Mysql cluster quick start webinar

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

Page 13: Mysql cluster quick start webinar

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

Page 14: Mysql cluster quick start webinar

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

Page 15: Mysql cluster quick start webinar

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

Page 16: Mysql cluster quick start webinar

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

Page 17: Mysql cluster quick start webinar

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

Page 18: Mysql cluster quick start webinar

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

Page 19: Mysql cluster quick start webinar

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

Page 20: Mysql cluster quick start webinar

Extender o Cluster para Alta Disponibilidade

DataNode

mysqld MgmtNode

DataNode

DataNode

DataNode

mysqld MgmtNode mysqld Mgmt

Node

3131 32

33 34

Page 21: Mysql cluster quick start webinar

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

Page 22: Mysql cluster quick start webinar

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

Page 23: Mysql cluster quick start webinar

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/

Page 24: Mysql cluster quick start webinar

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

Page 25: Mysql cluster quick start webinar

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

Page 26: Mysql cluster quick start webinar

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

Page 27: Mysql cluster quick start webinar

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

Page 28: Mysql cluster quick start webinar

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/

Page 29: Mysql cluster quick start webinar

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

Page 30: Mysql cluster quick start webinar

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)

Page 31: Mysql cluster quick start webinar

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/

Page 32: Mysql cluster quick start webinar

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 &

Page 33: Mysql cluster quick start webinar

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 |+----+

Page 34: Mysql cluster quick start webinar

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

Page 35: Mysql cluster quick start webinar

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

Page 36: Mysql cluster quick start webinar

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

Page 37: Mysql cluster quick start webinar

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

Page 38: Mysql cluster quick start webinar

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

....

Page 39: Mysql cluster quick start webinar

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

Page 40: Mysql cluster quick start webinar

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

Page 41: Mysql cluster quick start webinar

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/

Page 42: Mysql cluster quick start webinar

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“

Page 43: Mysql cluster quick start webinar

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 &

Page 44: Mysql cluster quick start webinar

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 &

Page 45: Mysql cluster quick start webinar

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

Page 46: Mysql cluster quick start webinar

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“

Page 47: Mysql cluster quick start webinar

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)

Page 48: Mysql cluster quick start webinar

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;

Page 49: Mysql cluster quick start webinar

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

Page 50: Mysql cluster quick start webinar

<Insert Picture Here>

Questions [email protected]