2016-08-07 13 views
0

すべてのノードを接続する必要があります。これはOpsCenterを使用して行うことができますが、私はそれを使用したくありません。私は自分のユーティリティを構築し始めました。今のところ、私のJavaプログラムはJMXに接続し、estimateKeys、No of SSTablesなどのcfstats情報を取得します。カサンドラJMXは私はカサンドラは、JMXを使用してすべてのマシンから情報をcfstats知るために取得しようとしています

これはJava JARファイルです.1つのCassandraノードから実行され、すべてのマシンに接続し、ノードごとにそれぞれのJMXを使用してcfstatsをフェッチする必要があります。

私は、JavaのドライバがcoumnFamily system.peersを使用して、クラスタ内のすべてのマシンを接続することができるようになりますように、このためにJavaのドライバを使用することを計画しています。 Javaドライバがマシンに接続すると、それぞれのホスト名とJMXポート(7199)を使用してjmx:rmiというサービスを作成します。次に、この情報を使ってNodeProbeに接続することができます。

私の質問は、javaドライバを使用して別のノードに接続した後、サービスを作成した後に状態を保持できるようになることです。jmx:rmi url、このURLは実際のノードJMXに実際に接続し、現在のノードから。 JMXホスト名はCassandra-env.shファイルから取得します。この中で私を助けてくれる人がいますか?

は、このアイデアは動作しますか、これを達成するための他の最良の方法はありますか?

答えて

1

これは、JMX remotelyを使用することは可能だが、それは最も簡単なことではありません。

しかし、あなたはあなたのツールを作成している場合 - 多分それは別の接続をチェックアウトする価値があります。例えば。あなたは簡単にJMXがこのDeniszhにお時間をJolokia

+0

感謝を使用してHTTP呼び出しに変換することができます。私は実現可能性をチェックしてお知らせします。 –

+0

こんにちはすべて、上記の私の質問に他のアイデア? –

関連する問題