Gearpump 高可用性ガイド

HAをサポートするために、複数のノード上でマスターを開始することができます。一貫性を決定するために定足数を構成するでしょう。例えば、5つのノード上でマスターを開始し、2つのノードがダウンした場合、クラスタはまだ一貫性があり機能します。

以下はHAモードを有効にするステップです:

1. 設定します。

マスター マシーンを選択します。

全てのノードにパッケージを分配します。全てのノード上のconf/gear.confを編集します。以下を設定し

gearpump.hostname

がホスト名(あるいはip)を、

gearpump.cluster.masters

がマスターノードを示すようにしなければなりません。例えば、もし3つのマスターノード(node1, node2 および node3)がある場合、gearpump.cluster.mastersは以下のように設定することができます

  gearpump.cluster {
    masters = ["node1:3000", "node2:3000", "node3:3000"]
  }

分散ストレージがアプリケーションのjarを格納するように設定

conf/gear.confの中で、gearpump.jarstore.rootpathについて、アプリケーションのjarのためのストレージフォルダを選択してください。このjarストレージを高可用にする必要があります。二つのストレージタイプをサポートします:

1). HDFS gearpump.jarstore.rootpath をこのように設定する必要があります

  hdfs://host:port/path/

2). 共用NFSフォルダ まず、NFSディレクトリをマスターノードのすべてのマシーン上でローカルディレクトリ(同じパス)に割り当てる必要があります。そして、gearpump.jarstore.rootPath を以下のように設定する必要があります:

  file:///your_nfs_mapping_directory

3). この値を設定しない場合は、マスターノードのローカルディレクトリを使うでしょう。注意!この場合、HAの保証はありません。つまり、マスターがダウンした場合実行中のアプリケーションを回復することができません。

2. デーモンの開始。

node1, node2, node3上でマスターを開始する

  ## on node1
  bin/master -ip node1 -port 3000

  ## on node2
  bin/master -ip node2 -port 3000

  ## on node3
  bin/master -ip node3 -port 3000

3. 完了!

これで、高可用性のHAクラスタを手に入れました。どのノードでもkillすることができ、マスターのHAが効果を表します。

注意: マスターノードがフェイルオーバーするには15秒ほど掛かります。gear.conf 内のgearpump-master.akka.cluster.auto-down-unreachable-after=10sを追加設定するか、それを小さな値にすることで、フェイルオーバーのタイムアウトを変更することができます。

TOP
inserted by FC2 system