1

我已成功设置ndbcluster 版本 7.1.26。这包含2 个数据节点 [NDBD]2 个 mysql [MYSQLD]节点和一个管理 [MGMD]节点。复制成功。我的Web 应用程序部署在 JBoss-5.0.1 中,并使用JNDI 连接资源,这些资源在应用程序特定的ds.xml文件中以负载平衡 url 形式指定,例如jbdc:mysql:loadbalance:host1:port1,host2:port2/databaseName

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

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

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

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

如果有人遇到过上述问题,如果有任何关于这些问题的解决方案,请告诉我。

谢谢并恭祝安康。

4

2 回答 2

2

我已经解决了这个问题,因为它是 connectorJ 版本中的一个错误。因为我正在处理的项目已经在使用错误的 jar 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 中引用的。涉及此问题的错误 id 和 url 是: http://bugs.mysql.com/bug.php?id=31053

感谢您的考虑。

于 2013-04-19T07:56:40.060 回答
0

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

于 2013-04-17T06:51:46.023 回答