あるとして我々はできるだけ早く我々は多くを参照してくださいクラスタから1つのノードをドレインとRF 3.カサンドラ3つのノードクラスタとすぐに1つのノードがダウンし
との3つのノードクラスタがある:
All host(s) tried for query failed (no host was tried)
com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (no host was tried)
at com.datastax.driver.core.exceptions.NoHostAvailableException.copy(NoHostAvailableException.java:84)
at com.datastax.driver.core.DriverThrowables.propagateCause(DriverThrowables.java:37)
at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:214)
at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:52)
私たちのすべての書き込みと読み取りは、一貫性レベルQUORUMまたはONEを使用しているため、1つのノードですべてが完全に機能するはずです。しかし、ノードが停止している限り、例外がスローされます。
我々は2.2.4 + Javaのカサンドラドライバ2.1.10.2
はここで我々は、クラスタの作成方法を説明しますカサンドラを使用します。
new Cluster.Builder()
.addContactPoints(CONTACT_POINTS)
.withCredentials(USERNAME, PASSWORD)
.withRetryPolicy(new LoggingRetryPolicy(DefaultRetryPolicy.INSTANCE))
.withReconnectionPolicy(new ExponentialReconnectionPolicy(10, 10000))
.withLoadBalancingPolicy(new TokenAwarePolicy(new RoundRobinPolicy()))
.withSocketOptions(new SocketOptions().setReadTimeoutMillis(12_000))
.build();
CONTACT_POINTSは、ノードの3つの公共IPSの文字列配列です。
数ヶ月前に、クラスタが一時的に2つのノードのみで罰金働いていたが、不明な理由でそれはもはやそうではないと私はアイデアを実行しているよ:(
おかげであなたの助けのためにたくさんを!
あなたが別のノードを停止してみましたかあなたはいつも同じものを停止しますか? – aalku
私はすべての3つのノードを30分間appartで再起動し、3つのすべての例外について同じ例外を再起動しました。 – Etienne