mysql cluster quick start webinar
DESCRIPTION
TRANSCRIPT
![Page 1: Mysql cluster quick start webinar](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/1.jpg)
<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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/2.jpg)
<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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/4.jpg)
Metas:
•Alta Performance: Dimensionamento de escrita & Baixa Latencia
• 99.999% Disponibilidade
•Baixo Custo TCO
![Page 5: Mysql cluster quick start webinar](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/10.jpg)
Revisão: Construindo um Cluster simples do zero
![Page 11: Mysql cluster quick start webinar](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/11.jpg)
Download ultima versão GA OS/architecture
http://www.mysql.com/downloads/cluster/#downloads
![Page 12: Mysql cluster quick start webinar](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/43.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/44.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.pub/reader033/viewer/2022061223/54c6477d4a79594b448b45b2/html5/thumbnails/49.jpg)
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