web-dev-qa-db-ja.com

MySQLndbclusterの負荷分散

Ndbclusterバージョン7.1.26を正常にセットアップしました。これには、2つのデータノード[NDBD]、2つのmysql [MYSQLD]ノード、および1つの管理[MGMD]ノードが含まれます。レプリケーションは正常に機能します。私のWebアプリケーションはJBoss-5.0.1にデプロイされ、負荷分散されたURL形式のアプリケーション固有のds.xmlファイルで指定されている接続リソースにJNDIを使用しています。 jbdc:mysql:loadbalance:Host1:port1、Host2:port2/databaseName。

Host1:最初のmysqldノードを参照し、port1はそれが実行されているポートを参照します。 Host2:2番目のmysqldノードを参照し、port2はそれが実行されているポートを参照します。

両方の[MySQLD]ノードが稼働している場合、すべてが正常に機能し、クラスターが適切に応答し、データを複製し、データ取得操作も適切に機能します。

ただし、[MySQLD]ノードのいずれかがダウンすると問題が発生します。データは挿入/更新/複製されますが、アプリケーションはクラスターからデータを取得できず、Webページはビジー状態のままです。つまり、データの取得がビジーです。ダウンしていたノードがアップするとすぐに、ノードは適切に応答し、アプリケーションは前進し、クラスターから取得したデータを表示します。

JBoss 5.0.1の起動時に、クラスLoadBalancingConnectionProxy.invoke(LoadBalancingConnectionProxy.Java:439)にNullPointerExceptionが表示されました。上記の例外が上記の問題に何らかの役割を果たすかどうかを教えてください。

誰かが上記のような問題に直面したことがあり、問題に関する解決策があれば、私に知らせてください。

よろしくお願いします。

1
Ajay Bhojak

これは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=3105

検討していただきありがとうございます。

1
Ajay Bhojak