负载均衡MySQL ndbcluster

时间:2013-04-15 08:05:50

标签: jboss5.x mysql database-cluster

我已成功设置 ndbcluster版本7.1.26 。 这包含 2个数据节点[NDBD] 2个mysql [MYSQLD] 节点和一个管理[MGMD] 节点。 复制成功。 我的 Web应用程序部署在JBoss-5.0.1 中并使用 JNDI用于连接资源,这些在加载时特定于应用程序的 ds.xml 文件中指定平衡的网址形式,例如的 JBDC:MySQL的:LOADBALANCE:主机1:PORT1,主机2:端口2 /的databaseName 即可。

host1:指的是第一个mysqld节点,port1指的是它运行的端口。 host2:指第二个mysqld节点,port2指的是运行它的端口。

当两个[MySQLD]节点都启动并运行时,一切正常,集群响应良好,复制数据,数据检索操作也能正常工作。

但是,当任何[MySQLD]节点出现故障时,都会出现问题。插入/更新/复制数据但应用程序无法从群集中检索数据,并且网页仍然忙于工作,这意味着忙于检索数据。一旦关闭的节点上升,它就会正确响应并且应用程序继续前进并显示从集群中检索的数据。

在JBoss 5.0.1启动时,它在类LoadBalancingConnectionProxy.invoke(LoadBalancingConnectionProxy.java:439)中显示出NullPointerException。告诉我上述例外是否在上述问题中起任何作用。

如果有人遇到上述问题,如果对问题有任何解决方案,请告诉我。

谢谢和问候。

2 个答案:

答案 0 :(得分:2)

我已经解决了这个问题,因为它是connectorJ版本中的一个错误。 正在进行的项目已经使用了bug mysql-connector-java-5.0.8.jar 以及已经解决了问题的jar版本,即 mysql-connector -java-5.1.13-bin.jar 即可。 在我删除了jar mysql-connector-java-5.0.8.jar 的所有搜索之后,我的问题得到了解决。 所有问题都在于ConnectorJ / Driver从错误的jar中被引用。 引用此问题的bug id和url是: 的 http://bugs.mysql.com/bug.php?id=31053

感谢您的考虑。

答案 1 :(得分:0)

您是否为标记中指定的每个主机(host1,host2)使用不同的用户ID和密码? (直接或使用标签)?