2016-12-21 10 views
0

私はAkkaクラスター2.4.8を使ってプロジェクトを進めています。Akkaクラスターで殺されたノードを検出する

AkkClusterでクラッシュしたノード(computer failurekill -9など)を検出する方法はありますか?

私は現在、脳の分割戦略を分割してstatic-quorumを使用して、3ノード環境を構築しています。

akka.cluster.split-brain-resolver { 
    active-strategy = static-quorum 
    stable-after = 5s 

    static-quorum { 
     quorum-size = 2 
     role = "" 
    } 

私はインスタンスを殺したときに、残りのクラスタメンバーがDOWNとしてそれをマークするだろうと期待していました。ただし、それはUNREACHABLE(下記参照)のままです。これを達成する方法はありますか?私はアッカ2.4+を使用していない正直に言うと、事前

clusterStatus": { 
    "members": [ 
     { 
      "uniqueAddress": { 
       "address": { 
        "protocol": "akka.tcp", 
        "system": "test-actor-system", 
        "host": "test-out-00", 
        "port": 2552 
       }, 
       "uid": 1998600863 
      }, 
      "upNumber": 1, 
      "status": "Up", 
      "roles": [] 
     }, 
     { 
      "uniqueAddress": { 
       "address": { 
        "protocol": "akka.tcp", 
        "system": "test-actor-system", 
        "host": "test-out-01", 
        "port": 2552 
       }, 
       "uid": 1371217592 
      }, 
      "upNumber": 3, 
      "status": "Up", 
      "roles": [] 
     }, 
     { 
      "uniqueAddress": { 
       "address": { 
        "protocol": "akka.tcp", 
        "system": "test-actor-system", 
        "host": "test-out-02", 
        "port": 2552 
       }, 
       "uid": -796176254 
      }, 
      "upNumber": 2, 
      "status": "Up", 
      "roles": [] 
     } 
    ], 
    "unreachable": [ 
     { 
      "uniqueAddress": { 
       "address": { 
        "protocol": "akka.tcp", 
        "system": "test-actor-system", 
        "host": "test-out-01", 
        "port": 2552 
       }, 
       "uid": 1371217592 
      }, 
      "upNumber": 3, 
      "status": "Up", 
      "roles": [] 
     } 
    ] 
+0

完全ドキュメントは、あなたが(すみません、ばかげた質問であってもよいが、それは尋ねる価値がある可能性があり)Lightbend反応プラットフォームのサブスクリプションを持っていますか? –

+0

@svezfaz愚かな質問ではありませんが、私はしません。 – Tom

答えて

1

スプリットブレインリゾルバは、Lightbendサブスクリプションが必要なAkkaの商用機能です。

これは、タイプセーフプロジェクトの成功サブスクリプションのお客様のために独占的に利用できるタイプセーフ反応プラットフォームの機能です。

Split Brain Resolver機能を使用するには、Typesafe Reactive Platformをインストールする必要があります。

リアクティブ・プラットフォームのサブスクライバでない場合、スプリット・ブレインの設定は無視されます。 http://doc.akka.io/docs/akka/rp-15v09p02/scala/split-brain-resolver.html

+0

ああ、いいよね。私はそれを自分でやらなければならないだろうと思う。ありがとうございました – Tom

1

感謝。私はakka 2.3.12でプロジェクトを開始しましたが、まだそれを使用しています。当時はアッカが提供するスプリットブレインプラグインソリューションはありませんでした、唯一のアドバイスは、設定した:

# put to off in order to not have split brain 
auto-down-unreachable-after = off 

これは意味、スプリットブレインを避けるために、手動削除UNREACHABLEノードに持っていた、と後ろに2.3.12アッカ・マイクロカーネルは、(それが後でhttp://doc.akka.io/docs/akka/2.4.1/project/migration-guide-2.3.x-2.4.x.html#Microkernel_is_Deprecatedを廃止されました)あなたDOWNなどの問題を持つノードをマークするために、クラスタに対してコマンドを発行する可能性を与えた

bin/akka-cluster localhost 9999 down akka.tcp://[email protected]:2552 

だから、ユーザーが必要なアクションのビットを管理しますスプリットブレインとノードをクラスタから取り除くには、あなたの(Akka Cluster 2.4.8)バージョンと同じ場合があります。

関連する問題