4.4. ハイアベイラビリティモードでの Neo4j Server の起動

4.4.1. Neo4j Coordinator の起動
4.4.2. Neo4j Server の起動
[注記]注記

ハイアベイラビリティ機能を利用できるのは Neo4j エンタープライズエディションだけです。

ハイアベイラビリティモードで Neo4j Server を実行するには、2 つのことを行う必要があります。まず、データベースをハイアベイラビリティモードで起動するようサーバーを構成し、さらに Neo4j データベースがハイアベイラビリティモードで動作するよう構成する必要があります。

データベースをハイアベイラビリティモードで起動するようサーバーを構成するのは簡単で、サーバーのプロパティファイル (conf/neo-server.properties) で org.neo4j.server.database.modeha にするだけです。このパラメータのデフォルト値は single で、クラスタに参加せずにスタンドアロンモードでデータベースが起動されますが、オンラインバックアップ機能は利用できます。

Neo4j データベースをハイアベイラビリティモードで動作するように構成するには、conf/neo4j.properties でいくつかプロパティを指定する必要があります。まず、ha.machine_id を指定する必要があります。値は正の整数で、クラスタ内でサーバーを一意に識別するための ID として使われます。

例: ha.machine_id = 1

次に、ha.zoo_keeper_servers を指定する必要があります。値には、Neo4j Coordinator クラスタの各メンバと通信するための一連のホストとポートをカンマで区切って指定します。

例: ha.zoo_keeper_servers = neo4j-manager-01:2180,neo4j-manager-02:2180,neo4j-manager-03:2180.

オプションで、ha.cluster_name を構成することもできます。これは、このインスタンスの参加先のクラスタの名前です。名前に使用できるのは、アルファベット、数字、ドット、ダッシュ、およびアンダースコアです。1 つの Coordinator が管理する Neo4j HA クラスタが複数ある場合に、名前を構成しておくと便利です。

例: ha.cluster_name = my_neo4j_ha_cluster

4.4.1. Neo4j Coordinator の起動

Neo4j Coordinator クラスタは、マスターの選挙をはじめ、さまざまなライフサイクル活動に関する信頼性の高いコーディネーションサービスを Neo4j HA Data クラスタに提供します。Neo4j Server には、Neo4j Coordinator を実行するのに必要なものがすべて含まれています。

Coordinator の構成は、次のファイルで行います。

  • conf/coord.cfg - Coordinator の動作設定
  • data/coordinator/myid - Coordinator の一意の ID

Neo4j Coordinator インスタンスを構成したら、bin/neo4j-coordinator コマンドを使って、すべての対象サーバーで Neo4j Coordinator を起動できます。サーバーの構成はすべて同じですが、data/coordinator/myid だけは一意の数字に変更しておきます。Neo4j Coordinator が動作しているかどうかは、jconsole を実行し、JVM にアタッチして org.apache.zookeeper MBeans をチェックすることで確認できます。

図4.1 Neo4j Coordinator MBeans の表示

Neo4j Coordinator MBeans view

4.4.2. Neo4j Server の起動

Neo4j Coordinator を実行するサーバー群が起動して稼働するようになったら、bin/neo4j start を使って Neo4j HA インスタンスを起動できます。HA ログの詳しい内容は、グラフデータベースデータディレクトリの messages.log 、通常は data/graph.db/mesages.log で確認できます。次のようなエントリがあるはずです。

Tue Apr 12 09:25:58 CEST 2011: MasterServer communication server started and bound to 6361
Tue Apr 12 09:25:58 CEST 2011: Started as master
Tue Apr 12 09:25:58 CEST 2011: master-rebound set to 1