MYSQL CLUSTER. Di Stefano Sardonini



Documenti analoghi
BACKUP APPLIANCE. User guide Rev 1.0

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

Fate doppio click sul file con nome postgresql-8.0.msi e impostate le varie voci come riportato nelle immagini seguenti:

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query

01/05/2013 Istruzioni per l installazione

MySQL Database Management System

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

ARCHIVIA PLUS VERSIONE SQL SERVER

Studi di Settore. Nota Operativa 22/4/2013

OwnCloud Guida all installazione e all uso

AXWIN6 QUICK INSTALL v.3.0

Configurazione avanzata di XAMPP

Come aggiungere il tuo sito.

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

Manuale per la configurazione di AziendaSoft in rete

Guida all installazione di Easy

GovPay 2.0. Manuale Installazione

GE 032 DESCRIZIONE RETI GEOGRAFICHE PER MX 650

LaCie Ethernet Disk mini Domande frequenti (FAQ)

SCP - Scuola di Calcolo Parallelo - Scheduler per programmi paralleli. Mattia Sessolo I.T.I.S. V.Volterra San Donà di Piave

Creazione e installazione di un NAS utilizzando FreeNAS

GUIDA RAPIDA CONFIGURAZIONE RETE - INTERNET - DDNS. (DVR Serie 3xx)

SIEMENS GIGASET C450 IP GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

Mac Application Manager 1.3 (SOLO PER TIGER)

GERARCHIE RICORSIVE - SQL SERVER 2008

Z3 B1 Message Addon Invio Massivo Documenti via e Fax per SAP Business One

Guida all Installazione del ProxyFatturaPA

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

ISPConfig: configurazione di un sito

Esiste la versione per Linux di GeCo? Allo stato attuale non è prevista la distribuzione di una versione di GeCo per Linux.

IL DAT A B A S E DI ALGE B R A N D O

COME CREARE E COLLEGARSI AD UN DATABASE MICROSOFT SQL SERVER O SUN MYSQL

La parte client è invece un programma che si chiama mysql. Gli altri eseguibili (client) fondamentali sono mysqladmin, mysqldump.

Progetto di Ingegneria del Software 2. SWIMv2

Access. P a r t e p r i m a

NAL DI STAGING. Versione 1.0

Guida all uso di periferiche di archiviazione remota (NAS)

Installazione di GFI Network Server Monitor

Laboratorio di Basi di Dati e Web

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Programma Operativo di Cooperazione Transfrontaliera Italia Svizzera PROGETTO STRATEGIO PTA

View Mobile User s Guide

Log Manager. 1 Connessione dell apparato 2. 2 Prima configurazione Impostazioni di fabbrica Configurazione indirizzo IP e gateway 3

Università degli Studi di Brescia Servizi ICT U.O.C. Reti e Sistemi

Ulteo OVD Open Virtual Desktop (Un Desktop Virtuale Open Source)

CBC (EUROPE) Srl NOTA APPLICATIVA

Abilitare la connettività per 3PAR Storage

CREAZIONE DI UN SOTTOSITO

Installazione LAMP. Installare un server lamp su Linux Ubuntu. Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale:

GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER MANUALE DI INSTALLAZIONE GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER

Concetti fondamentali dei database database Cos'è un database Principali database

FIRESHOP.NET. Utilizzare il FireSoft. Rev

Basi di Da( MySQL & MySQL Workbench. Anna Monreale

DEFINIZIONI VM: abbreviazione di Virtual Machine (macchina virtuale).

HORIZON SQL MENU' FILE

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Indice dei contenuti

Backup e Restore di un database PostgreSQL Sandro Fioravanti INFN-LNF

Configurazione avanzata di IBM SPSS Modeler Entity Analytics

NOTE TECNICHE DI CONFIGURAZIONE. Giugno 2009

Utilizzo del server LDAP locale per la sincronizzazione della base utenti e della GAL

Istruzioni di installazione di IBM SPSS Modeler Text AnalyticsServer per Windows

Il software di gestione immobiliare più facile da usare. Modulo Web v5.2.

MANUALE D USO MA-PMX-U-SFW

ISTRUZIONI AGGIORNAMENTO TARIFFARIO 2006

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Acronis Backup & Recovery 11 Guida rapida

Online Help StruxureWare Data Center Expert

System Center Virtual Machine Manager Self-Service Portal

BREVE GUIDA ALL ATTIVAZIONE DEL SERVIZIO DDNS PER DVR SERIE TMX

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

2014 Electronics For Imaging. Per questo prodotto, il trattamento delle informazioni contenute nella presente pubblicazione è regolato da quanto

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Modem Fibra (ONT) ALU I-240W-Q. Manuale Utente

Installazione del software Fiery per Windows e Macintosh

MyFRITZ!, Dynamic DNS e Accesso Remoto

TERMINALE. Creazione e gestione di una postazione terminale di Eureka

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

FASE 1: Definizione del tema, degli obiettivi e del target con il cliente... (da cui dipendono le scelte successive!)

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (utente singolo)

FORMAZIONE PROFESSIONALE

Primi passi - Quick Start Guide

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Indice GAMMA. Guida utente

Architettura di storage

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

Wordpress. Acquistare un sito web. Colleghiamoci con il sito

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per utenti singoli)

VIDA CONFIGURATION VIDA ALL-IN-ONE

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

DW-SmartCluster (ver. 2.1) Test con macchine virtuali

Esercizio sui data base "Gestione conti correnti"

Transcript:

MYSQL CLUSTER Di Stefano Sardonini 1

MYSQL CLUSTER NDB, MON,HEARTBEAT Questo documento descrive la progettazione e configurazione di un architettura di database che utilizza l engine mysql ndb per la replica dei dati ed heartbeat per i nodi di connessione al cluster. Di seguito lo schema dell architettura NDB CLUSTER 192.168.99.60 192.168.99.62 192.168.99.63 192.168.99.61 192.168.99.64 192.168.99.65 192.168.99.66 CLIENT 2

Server Console Di Gestione Cluster Mysql ( 192.168.99.60 ) Sistema Operativo: Debian OS con 512Mb di Ram e 4 GB di Hard Disk Pacchetti installati: mysql-server Questo server consentirà di poter gestire il cluster ndb con la possibilità di rimuovere o aggiungere ulteriori server in ambiti di storage o interrogazione dei dati. Il pacchetto mysql-server viene installato per pura e semplice comodità in quanto abilita il comando ndb_mgm, pertanto mysql-server sul 192.168.99.60 non deve essere configurato. L unica operazione da fare è quella di creare un file in /etc/mysql chiamato ndb_mgmd.cnf Il cui contenuto, in base allo schema precedentemente riportato, è il seguente [NDBD DEFAULT] NoOfReplicas=2 # Il numero dei nodi ndb mysql ovvero 192.168.99.62 e 192.168.99.63 DataMemory=80M IndexMemory=18M [MYSQLD DEFAULT] [NDB_MGMD DEFAULT] [TCP DEFAULT] [NDB_MGMD] HostName=192.168.99.60 # E l ip del server che contiene questo file, il 192.168.99.60 [NDBD] HostName=192.168.99.62 # Indirizzo ip del primo dei due nodi ndb mysql DataDir=/var/lib/mysql-cluster # Questa è la directory del cluster ( che dovrebbe essere già presente ) DataMemory=512M [NDBD] HostName=192.168.99.63 # Indirizzo ip del secondo dei due nodi ndb mysql DataDir=/var/lib/mysql-cluster DataMemory=512M HostName=192.168.99.61 # Questo è un ip di un server autorizzato ad interrogare i db clusterizzato HostName=192.168.99.62 # Questo è un ip di un server autorizzato ad interrogare i db clusterizzato HostName=192.168.99.63 # Questo è un ip di un server autorizzato ad interrogare i db clusterizzato HostName=192.168.99.64 # Questo è un ip di un server autorizzato ad interrogare i db clusterizzato HostName=192.168.99.65 # Questo è un ip di un server autorizzato ad interrogare i db clusterizzato Da notare che non è stato messo il 192.168.99.66 in quanto è un ip VIRTUALE è importante che gli indirizzi ip dei server che costituiscono il 192.168.99.66 siano però autorizzati e quindi presenti nelle API MYSQL. Per avviare il servizio ndb: /etc/init.d/mysql-ndb-mgm restart Per controllare invece lo stato del cluster : ndb_mgm e successivamente show 3

Server Storage Mysql ( 192.168.99.62 e 192.168.99.63 ) Sistema Operativo: Debian OS con 1024Mb di Ram e 20GB di Hard Disk Pacchetti installati: mysql-server Sul server il 192.168.99.62 deve essere configurato il file my.cnf contenuto in /etc/mysql nel seguente modo: [client] port = 3306 [mysqld_safe] nice = 0 [mysqld] ndbcluster # questa riga è da aggiungere al file! ndb-connectstring=192.168.99.60 # anche questa riga è da aggiungere con l ip del server di console user = mysql pid-file = /var/run/mysqld/mysqld.pid port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp language = /usr/share/mysql/english key_buffer = 16M max_allowed_packet = 16M thread_stack = 128K thread_cache_size = 8 myisam-recover = BACKUP query_cache_limit = 1M query_cache_size = 16M expire_logs_days = 10 max_binlog_size = 100M skip-bdb [mysqldump] quick quote-names max_allowed_packet = 16M [mysql] [isamchk] key_buffer = 16M [MYSQL_CLUSTER] # deccomentare questa riga ndb-connectstring=192.168.99.60 # deccomentare questa riga ed indicare il server di console!includedir /etc/mysql/conf.d/ Infine la procedura va ripetuta allo stesso modo per il server 192.168.99.63 4

Configurazione dei nodi Mysql API (192.168.99.61,64,65 ) Sistema Operativo: Debian OS con 512Mb di Ram e 10GB di Hard Disk Pacchetti installati: mysql-server, heartbeat,mon In tutti i server deve essere installato e configurato mysql come di seguente [client] port = 3306 [mysqld_safe] nice = 0 [mysqld] ndbcluster # questa riga è da aggiungere al file! ndb-connectstring=192.168.99.60 # anche questa riga è da aggiungere con l ip del server di console user = mysql pid-file = /var/run/mysqld/mysqld.pid port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp language = /usr/share/mysql/english key_buffer = 16M max_allowed_packet = 16M thread_stack = 128K thread_cache_size = 8 myisam-recover = BACKUP query_cache_limit = 1M query_cache_size = 16M expire_logs_days = 10 max_binlog_size = 100M skip-bdb [mysqldump] quick quote-names max_allowed_packet = 16M [mysql] [isamchk] key_buffer = 16M [MYSQL_CLUSTER] # deccomentare questa riga ndb-connectstring=192.168.99.60 # deccomentare questa riga ed indicare il server di console!includedir /etc/mysql/conf.d/ La configurazione del file my.cnf è uguale in tutte le macchine ad esclusione del server di console. La particolarità risiede sul server di console in cui viene indicato chi è il nodo di storage e chi è il nodo d interrogazione al cluster stesso. 5

La configurazione di heartbeat permetterà, insieme a Mon, di disporre un indirizzo ip virtuale ( 192.168.99.66 ) composto da più server, da cui sarà possibile eseguire query verso il database clusterizzato. I file di configurazione di heartbeat si trovano o vanno creati in /etc/ha.d/ 1) Creare un file chiamato authkeys il cui contenuto sia: auth 1 1 sha1 SuperPassword # cambiare SuperPassword in una password a piacere 2) Creare un file chiamato ha.cf il cui contenuto sia: logfile /var/log/ha-log.log logfacility local0 keepalive 1 deadtime 10 warntime 3 initdead 20 bcast eth0 auto_failback off node MYSQL-CONNECTOR-01 # il NOME del server 192.168.99.61 node MYSQL-CONNECTOR-02 # il NOME del server 192.168.99.64 node MYSQL-CONNECTOR-03 # il NOME del server 192.168.99.65 3) Creare un file chiamato haresources il cui contenuto sia: MYSQL-CONNECTOR-02 192.168.99.66 # Un NOME valido per identificare l host virtuale Modificare il file hosts ( contenuto in /etc) aggiungendo le seguenti righe: MYSQL-CONNECTOR-01 192.168.99.61 MYSQL-CONNECTOR-02 192.168.99.64 MYSQL-CONNECTOR-03 192.168.99.65 6

La configurazione di MON consiste nel modificare il file /etc/mon/mon.cf come di seguente: # Cancellare tutto il contenuto ed inserire queste righe hostgroup mysql-node 127.0.0.1 watch mysql-node service mysql interval 10s monitor msql-mysql.monitor --mode mysql --database=mysql --password=lapassworddimysql period wd {Mon-Sun} alert stop-heartbeat.alert Ripetere la procedura di configurazione di mysql, heartbeat e mon per ogni server ( 192.168.99.61,192.168.99.64,192.168.99.65 ) Riavviare i server affinchè i servizi mysql, mon ed heartbeat diventino operativi Eseguire la login su un server e lanciare il seguente comando mysql -u root -p -e "show engines" grep ndbcluster Digitare la password e successivamente si DEVE OTTENERE il seguente risultato: ndbcluster YES Clustered, fault-tolerant, memory-based tables A volte, dopo il riavvio è necessario attendere qualche minuto affinchè I server siano effettivamente disponibili, tuttavia è possibile controllare la situazione dal server di console 7

Database in cluster Su ogni macchina, ad esclusione del server di console ( 192.168.99.60 ) creare un database chiamato TEST Sulle macchine 192.168.99.61,62,63 creare un utente che possa accedere a TEST da remoto, ad esempio con username admin e password admin Collegarsi al database utilizzando l ip 192.168.99.66 e le credenziali di accesso appena create Creare una tabella chiamata CLUSTER all interno del database TEST impartendole di utilizzare l engine ndbcluster: create table cluster (id int auto_increment primary key, campo1 char(100)) engine=ndbcluster; quindi inserire un record per controllare l operatività delle repliche dei dati insert into cluster (campo1) values ("server node 01"); Note negative: Quando si crea un database esso va creato su tutti i server ad esclusione di quello di console di gestione del cluster ( 192.168.99.60 ) Note positive: Se un server è offine l informazione, essendo replicata, è sempre disponibile Un applicativo per NON interrogare il database deve trovarsi nella situazione in cui tutti e 3 i server API siano offline (cioè quelli che costituiscono nel loro insieme l indirizzo virtuale 192.168.99.66). Per importare un database esistente in questa struttura è necessario eseguire un alter table in cui si vada a modificare l engine esistente delle tabelle in ndbcluster. 8