Mysql cluster quick start webinar

Post on 26-Jan-2015

115 views 6 download

description

 

Transcript of Mysql cluster quick start webinar

<Insert Picture Here>

MySQL Cluster – Quick Start & Scaling for the Web

Henrique Leandro (henrique.leandro@oracle.com) Engenheiro MySQL

Marcelo Souza (marcelo.t.souza@oracle.com) 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 henrique.leandro@oracle.com