2013-04-15 79 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

不,這不是問題。 –