需要帮助来configuration两台主机的MySql-Cluster

感谢您的回复。

我需要你的帮助以下面的方式configurationMySQL-Clustering服务器。

 我有两个主机,
 1] 192.168.1.107
 2] 192.168.1.125

每个主机都有节点条目,

在主机上:192.168.1.107:
 =======================
 1] MGMT节点
 2] DATA节点
 3] MYSQL [API]节点

在主机上:192.168.1.125:
 =======================
 1] MGMT节点
 2] DATA节点
 3] MYSQL [API]节点

这两台服务器都放在“负载均衡器”后面来pipe理传入的连接。 因此,负载均衡器pipe理(分配)到服务器的传入连接或请求,以控制服务器上的stream量。

负载平衡器已经被configuration成这样的方式,就像一个服务器发生故障(由于系统崩溃),负载均衡器将负责转发所有传入的请求,或者所有的请求或连接都应该由活动的一个(服务器) 。

我目前的configuration文件如下:
 ----------------------------------------------

 “my.cnf”在主机上:192.168.1.107:
 ================================
 #MySQL服务器
 [mysql_cluster]
 NDB-CONNECTSTRING = 192.168.1.107:1186

 [NDBD]
连接串= 192.168.1.107:1186,192.168.1.125:1186

 [ndb_mgm]
连接串= 192.168.1.107:1186

 [ndb_mgmd]
configuration文件中=的/ var / lib中/ MySQL的簇/ config.ini中

的[mysqld]
 NDBCLUSTER
 NDB-CONNECTSTRING = 192.168.1.107


 “my.cnf”主机上:192.168.1.125:
 ================================
 #MySQL服务器
 [mysql_cluster]
 NDB-CONNECTSTRING = 192.168.1.125:1186

 [NDBD]
连接串= 192.168.1.125:1186,192.168.1.107:1186

 [ndb_mgm]
连接串= 192.168.1.125:1186

 [ndb_mgmd]
configuration文件中=的/ var / lib中/ MySQL的簇/ config.ini中

的[mysqld]
 NDBCLUSTER
 NDB-CONNECTSTRING = 192.168.1.125

和

 “config.ini”在主机上:192.168.1.107:
 ====================================

 [NDBD默认]
 NoOfReplicas = 2#副本数量
 DataMemory = 3500M#为数据存储分配多less内存
 IndexMemory = 1000M#为索引存储分配多less内存
 datadir = / usr / local / mysql / data#这个数据节点的数据文件的目录
 #MaxNoOfConcurrentOperations = 1048576
 #MaxNoOfConcurrentTransactions = 1048576
 #MaxNoOfLocalOperations = 1048576
 #MaxNoOfConcurrentIndexOperations = 16384
 #等于MaxNoOfConcurrentScans乘以= 500
 #LockPagesInMainMemory = Y
 #TCP / IP选项:
 [TCP默认]
 portnumber = 2202#这是默认值; 不过,你可以使用任何

 #pipe理stream程选项:
 [NDB_MGMD默认]
 datadir = / var / lib / mysql-cluster#MGM节点日志文件的目录

 [NDB_MGMD]
 hostname = 192.168.1.107#MGM节点的主机名或IP地址

 #数据节点“A”的选项:
 [NDBD]
 id = 3#(每个数据节点一个[NDBD]节)
主机名= 192.168.1.107#主机名或IP地址

 #数据节点“B”的选项:
 [NDBD]
 ID = 4
主机名= 192.168.1.125#主机名或IP地址

 #SQL节点选项:
 [MYSQLD]
 ID = 5
主机名= 192.168.1.107



 “config.ini”在主机上:192.168.1.125:
 ====================================
 [NDBD默认]
 NoOfReplicas = 2#副本数量
 DataMemory = 3500M#为数据存储分配多less内存
 IndexMemory = 1000M#为索引存储分配多less内存
 datadir = / usr / local / mysql / data#这个数据节点的数据文件的目录
 #MaxNoOfConcurrentOperations = 1048576
 #MaxNoOfConcurrentTransactions = 1048576
 #MaxNoOfLocalOperations = 1048576
 #MaxNoOfConcurrentIndexOperations = 16384
 #等于MaxNoOfConcurrentScans乘以= 500
 #LockPagesInMainMemory = Y
 #TCP / IP选项:
 [TCP默认]
 portnumber = 2202#这是默认值; 不过,你可以使用任何

 #pipe理stream程选项:
 [NDB_MGMD默认]
 datadir = / var / lib / mysql-cluster#MGM节点日志文件的目录

 [NDB_MGMD]
 hostname = 192.168.1.125#MGM节点的主机名或IP地址

 #数据节点“A”的选项:
 [NDBD]
 id = 3#(每个数据节点一个[NDBD]节)
主机名= 192.168.1.107#主机名或IP地址

 #数据节点“B”的选项:
 [NDBD]
 ID = 4
主机名= 192.168.1.125#主机名或IP地址

 #SQL节点选项:
 [MYSQLD]
 ID = 5
主机名= 192.168.1.125

关于上述configuration我试图configuration服务器,

在两个数据节点之间创build复制。 意思是说,如果一台服务器发生故障或崩溃,那么相同的数据应该由另一台服务器提供服务。

简而言之,节点“A”和“B”之间应该有数据复制,并且如果一个节点将closures,则应该提供相同的数据。 所有传入请求或连接都由负载均衡器pipe理。

我已经尝试在两台服务器上使用以下步骤来实现上述configuration,但也存在一些问题,

在主机192.168.1.107上
 =====================
 1] [root @ ns mysql-cluster]#ndb_mgmd -f /var/lib/mysql-cluster/config.ini
 2009-09-07 17:48:24 [MgmSrvr] INFO  -  NDB集群pipe理服务器。
 mysql-5.1.34 ndb-7.0.6
 2009-09-07 17:48:24 [MgmSrvr] INFO  - 加载configuration
 '//mysql-cluster/ndb_1_config.bin.1'

 2] [root @ ns mysql-cluster]#/ usr / local / mysql / bin / ndbd
 2009-09-07 17:49:36 [ndbd] INFO  - 取自configuration
 '192.168.1.107:1186',代:1

 3] [root @ ns mysql-cluster]#mysqld_safe --ndbcluster
 --ndb-connectingtring = 192.168.1.107&
 [12] 12189
 [root @ ns mysql-cluster]#090907 17:50:17 mysqld_safelogin到
 '/var/lib/mysql/ns.err'。
 090907 17:50:17 mysqld_safe从数据库启动mysqld守护进程
在/ var / lib中/ MySQL的

输出(ndb_mgm -e显示):
 =============================
 [root @ ns mysql-cluster]#ndb_mgm -e show
连接到pipe理服务器:192.168.1.107:1186
群集configuration
 ---------------------
 [ndbd(NDB)] 2个节点
 id = 3 @ 192.168.1.107(mysql-5.1.34 ndb-7.0.6,Nodegroup:0,Master)
 id = 4(不连接,接受来自192.168.1.125的连接)

 [ndb_mgmd(MGM)] 1个节点
 id = 1 @ 192.168.1.107(mysql-5.1.34 ndb-7.0.6)

 [mysqld(API)] 1个节点
 id = 5 @ 192.168.1.107(mysql-5.1.34 ndb-7.0.6)



之后,执行相同的步骤,
在主机192.168.1.125上:
 =========================

 1] [root @ test mysql-cluster]#ndb_mgmd -f /var/lib/mysql-cluster/config.ini
 2009-09-07 17:55:24 [MgmSrvr] INFO  -  NDB集群pipe理服务器。
 mysql-5.1.34 ndb-7.0.6
 2009-09-07 17:55:24 [MgmSrvr]信息 - 加载configuration
 '//mysql-cluster/ndb_1_config.bin.1'

 2] [root @ test mysql-cluster]#/ usr / local / mysql / bin / ndbd
 2009-09-07 17:55:59 [ndbd] INFO  - 取自configuration
 '192.168.1.125:1186',代:1

 3] [root @ test mysql-cluster]#mysqld_safe --ndbcluster
 --ndb-connectingtring = 192.168.1.125&
 [2] 5276
 [root @ test mysql-cluster]#090907 17:56:30 mysqld_safelogin到
 '/var/lib/mysql/test.testmachine.com.err'。
 090907 17:56:30 mysqld_safe从数据库启动mysqld守护进程
在/ var / lib中/ MySQL的


输出(ndb_mgm -e显示):
 =============================

 [root @ test mysql-cluster]#ndb_mgm -e show
连接到pipe理服务器:192.168.1.125:1186
群集configuration
 ---------------------
 [ndbd(NDB)] 2个节点
 id = 3(不连接,接受来自192.168.1.107的连接)
 id = 4 @ 192.168.1.125(mysql-5.1.34 ndb-7.0.6,Nodegroup:0,Master)

 [ndb_mgmd(MGM)] 1个节点
 id = 1 @ 192.168.1.125(mysql-5.1.34 ndb-7.0.6)

 [mysqld(API)] 1个节点
 id = 5 @ 192.168.1.107(mysql-5.1.34 ndb-7.0.6)

上述结果表明,来自每个服务器的两个数据节点不能相互通信。 所以请告诉我适当的configuration或适当的步骤来实现我的scheme完美。

等待您的回复。

您的群集devise中存在根本性问题。 Mysql集群需要3台服务器。 假设连接2台服务器的电线被切断,但两台机器仍在运行。 如果它们都继续运行,它们将获得不同的数据并且不同步。

所以有了两台机器,他们都必须关机,以防止群集中的每个节点具有不同数据的裂脑情形。

您可以添加仅运行与数据节点配合使用的pipe理节点(需要有限资源)的第三台机器,以决定如何处理故障。 如果pipe理节点消失,但两个数据节点仍在运行,它们将继续运行。

以下是有关2数据节点+ 1pipe理节点configuration的说明: http : //dev.mysql.com/tech-resources/articles/mysql-cluster-for-two-servers.html

试试这个关于howtoforge的教程。