Hur installerar och konfigurerar jag MySQL-kluster för Windows?
Gäller för:
Windows64-bitars operativsystem
Författare:
Carthik Annayan
Problem:
Hur installerar och konfigurerar jag MySQL-kluster för Windows?
Lösning:
Hur implementerar man ett MySQL-kluster? Vi kommer att diskutera stegen för att implementera MySQL Cluster nu. I en typisk HA-miljö för ett MySQL-kluster behöver vi minst 6 servrar för att bygga HA vid varje lager i MySQL-klustret. Det bästa med att distribuera ett MySQL-kluster är att det är enkelt och inte kräver många förutsättningar. Allt du behöver är ett par servrar, operativsystemet och ett par switchar.
Noderna namnges enligt följande:-
Servernoder:- Servernode1.example.com 192.168.0.10, Servernode2.example.com 192.168.0.20
Datanoder:- Datanode1.example.com 192.168.0.30, Datanode2.example.com 192.168.0.40
Hanteringsservernoder:- Mgmntnode1.example.com 192.168.0.50, Mgmntnode2.example.com 192.168.0.60
Förutsättningar för nätverk:-
- Dedikerad >= 1 Gbit/s nätverkshantering
- Förhindra nätverksfel (NIC x 2, bindning)
- Använd dedikerat nätverk för klusterkommunikation
- Inget säkerhetslager till hanteringsnoden (fjärravstängning tillåts ....)
- Aktivera port 1186-åtkomst endast från klusternoder och administratörer
Lagringslager (datanoder): –
- En datanod kan använda 8 kärnor
- Processor: 2 x 4 kärnor
- RAM: Så mycket som du behöver en datauppsättning på 10 GB kommer att kräva 20 GB RAM (på grund av redundans)
- Varje nod behöver då 2 x 10/#of datanoder. (2 datanoder →10 GB RAM → 16 GB RAM är bra)
- Diskutrymme: 10xDataMemory + utrymme för BACKUP + TableSpace (om diskdata tabeller)
SQL-lager (MySQL-servrar):-
- Processor: 2 – 16 kärnor
- RAM: Inte så viktigt - 4GB tillräckligt (beror på anslutningar och buffertar)
Noden Mgmntnode2 är valfri. Det är viktigt att även ange HA på hanteringsnoden, eftersom hanteringsnoden är den centrala konsol från vilken alla datanoder och servernoder hanteras. För den här implementeringen kommer vi dock endast att överväga en hanteringsnod och implementering av MySQL Cluster 7.2.
När servrarna är klara är det första steget att ladda ner MySQL-klusterpaketet från följande plats (
http://www.mysql.com/downloads/cluster ). Ladda ner det paket som bäst passar dina behov. Antingen msi- eller zip-format. För den här implementeringen har jag använt zip-formatet. Supportstatus för MySQL-klustret (OS, arkitektur) är tillgänglig från
MySQL-stödmatris. Nästa steg är att packa upp det nedladdade innehållet.
Extrahera innehållet i zip-arkivet till "c:\mysql\cluster" på servernoderna. Utför det här steget på var och en av noderna eller ladda ned zip-filen till en nod och kopiera innehållet till de andra noderna.
Om du vill få åtkomst till de körbara filerna från kommandoraden lägger du till "c:\mysql\cluster\bin" i PATH-miljövariabeln.
Skapa nu config.ini-filen i hanteringsnoden (192.168.0.50) i mappen c:\mysql\cluster.
Exempel
config.ini fil
config.ini
[ndbd default]
noofreplicas=2
DataDir=c:/mysql/bin/cluster-data # Katalog för varje datanods filer
DataMemory=80M
IndexMemory=18M
[ndb_mgmd]
hostname=192.168.0.50
NodeId = 1
DataDir=c:/mysql/bin/cluster-logs #Directory för hanteringsnoden Loggfiler
[ndbd] # Data Node1 hostname=192.168.0.30
NodeId=2
[ndbd] # Data Node2
hostname=192.168.0.40
NodeId=3
[mysqld] # Server Node1
hostname= 192.168.0.10
NodeId=101
[mysqld] # Server Node2
hostname= 192.168.0.20
NodeId=102
My.ïni-filen för varje datanod har endast information om anslutningssträngen som är IP-adressen för hanteringsnoden. Filen my.cnf finns i "c:\mysql\my.ini"
my.ini (Data Node1)
[mysql_cluster]
Ndb-connectstring=192.168.16.50
Placera även samma innehåll i DataNode2.
Slutligen my.ini innehållet i MySQL-servernoden som finns i "c:\mysql\my.ini" i servernoden.
[mysqld]
Ndb-nodeid=101 Ndbcluster
Ndb-connectstring=192.168.16.50:1186 # Hanteringsplatsen: Serverport
=3306
Default-storage-engine=ndbcluster
När konfigurationsfilerna är på plats måste noderna startas i följande ordning: hanteringsnoden, datanoderna och SQL Server-noden.
Kommandona för att utföra vart och ett av följande visas nedan.
Hanteringsnod (192.168.0.50):-
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/ --initial
Datanoder (192.168.0.30, 192.168.0.40):-
NDBD -C <Managementnode IP-adress>: 1186 –initial
Det här kommandot ska utfärdas på var och en av datanoderna.
SQL Server-nod (192.168.0.10, 192.168.0.20):
C:\mysql\bin> mysqld –konsol
Det här kommandot ska utfärdas på var och en av MySQL Server-noderna.
Kontrollera slutligen om klustret är igång genom att köra kommandot nedan på kommandoraden för hanteringsservern. Den körbara ndb_mgmd-filen finns i katalogen till "c:\mysql\bin"
ndb_mgmd > visa