2013-04-15 46 views
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负载平衡MySQL ndbcluster

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

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

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

是JBoss 5.0.1启动它显示了在课堂上LoadBalancingConnectionProxy.invoke(LoadBalancingConnectionProxy.java:439)一个NullPointerException。告诉我,上述例外在上述问题中扮演什么角色。

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

感谢和问候。

+0

不能用提供的信息多说。什么时候发生这种情况,数据库日志和网络服务器日志。我宁愿对percona xtradb集群和ndb集群感到满意。 –

+0

我已经通过提供分隔的[MySQLD] url来实现高可用性,但仍然在提供负载均衡url的问题时是相同的。只有选择查询失败。分隔的网址在** application-ds.xml **文件中提供。 –

回答

2

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

感谢您的考虑。

0

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

+0

不,这不是问题。 –