我已成功设置 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。告诉我上述异常是否在上述解释的问题中起作用。
如果有人遇到过上述问题,并且对这些问题有任何解决方案,请告诉我。
谢谢并恭祝安康。
我已经解决了这个问题,因为它是 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 是从 buggy jar 中引用的。涉及此问题的错误 ID 和 url 是:http ://bugs.mysql.com/bug.php?id=31053 。
感谢您的考虑。