如何安装和配置适用于 Windows 的 MySQL 群集?
适用于:
Windows64位操作系统
作者:
Carthik Annayan
问题:
如何安装和配置 MySQL Cluster for Windows?
解决 方案:
如何实现MySQL集群?我们现在将讨论实施 MySQL Cluster 的步骤。在 MySQL 集群的典型 HA 环境中,我们至少需要 6 台服务器才能在 MySQL 集群的每一层构建 HA。部署MySQL集群最好的部分是它很容易,并且不需要很多先决条件。您所需要的只是几台服务器、操作系统和几台交换机。
节点命名如下:-
服务器节点:-服务器节点:Servernode1.example.com 192.168.0.10,Servernode2.example.com 192.168.0.20
数据节点:-Datanode1.example.com 192.168.0.30,Datanode2.example.com 192.168.0.40
管理服务器节点:- Mgmntnode1.example.com 192.168.0.50,Mgmntnode2.example.com 192.168.0.60
网络前提条件:-
- 专用 >= 1 GB/s 网络
- 防止网络故障(NIC x 2,绑定)
- 使用专用网络进行群集通信
- 管理节点没有安全层(允许远程关闭...)
- 启用仅从群集节点和管理员访问端口 1186
存储层(数据节点):-
- 一个数据节点可以使用 8 个核心
- 处理器:2 个 4 核
- 内存:10GB的数据集需要20GB的RAM(因为冗余)
- 然后,每个节点都需要 2 个 10/#of 数据节点。(2 个数据节点→10 GB RAM → 16 GB RAM 良好)
- 磁盘空间:10xDataMemory + 空间用于备份 + 表空间(如果是磁盘数据表)
SQL层(MySQL服务器):-
- 处理器:2 — 16 个核心
- RAM:不太重要 — 足够 4GB(取决于连接和缓冲区)
Mgmntnode2 节点是可选的。在管理节点上提供高可用性也很重要,因为管理节点是从中管理所有数据节点和服务器节点的中央控制台。但是,对于此实施,我们将仅考虑一个管理节点和 MySQL Cluster 7.2 的实施。
服务器准备就绪后,第一步是从以下位置下载 MySQL 群集包 (
http://www.mysql.com/downloads/cluster )。下载最适合您需求的捆绑包。msi 或 zip 格式。对于此实现,我使用了 zip 格式。MySQL 群集(操作系统、体系结构)的支持状态可从
MySQL 支持矩阵。 下一步是解压缩下载的内容。
将 Zip 存档的内容解压到服务器节点上的“c:\mysql\cluster”。在每个节点上执行此步骤,或将 zip 文件下载到一个节点,并将内容复制到其他节点。
要从命令行访问可执行文件,请将“c:\mysql\cluster\bin”添加到 PATH 环境变量中。
现在,在管理节点 (192.168.0.50) 的以下文件夹“c:\mysql\cluster”下创建 config.ini 文件。
示例
config.ini file
config.ini
[ndbd default]noofreplicas=
2
DataDir=c:/mysql/bin/cluster-data # 每个数据节点文件的
目录 DataMemory=80M
IndexMemory=18M
[ndb_mgmd]
hostname=192.168.0.50
NodeId = 1
DataDir=c:/mysql/bin/cluster-logs 管理节点日志文件 #Directory
[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 文件仅包含有关连接字符串的信息,连接字符串是管理节点的 IP 地址。my.cnf 文件位于 “c:\mysql\my.ini”
my.ini (Data Node1)
[mysql_cluster]
Ndb-connectstring=192.168.16.50
也将相同的内容放在 DataNode2 中。
最后,位于ServerNode的“c:\mysql\my.ini”中的MySQL服务器节点的my.ini内容。
[mysqld的]
ndb-nodeid=101 ndbcluster
ndb-connectstring=192.168.16.50:1186 # location of the management Server
port=3306
default-storage-engine=ndbcluster
配置文件就位后,必须按以下顺序启动节点:管理节点、数据节点和 SQL Server 节点。
用于执行以下每项的命令如下所示。
管理节点 (192.168.0.50):-
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/ --initial
数据节点(192.168.0.30, 192.168.0.40):-
ndbd -c <管理节点 IP 地址>:1186–initial
应在每个数据节点上发出此命令。
SQL Server 节点(192.168.0.10、192.168.0.20):-
C:\mysql\bin> mysqld –console
应在每个 MySQL 服务器节点上发出此命令。
最后,要检查群集是否已启动并运行,请在管理服务器的命令行上发出以下命令。ndb_mgmd可执行文件位于“c:\mysql\bin”
的目录中
ndb_mgmd>显示