新規Dgraphリーダー・ノードの指名

appointNewDgraphLeader.shスクリプトを使用して、新規Dgraphリーダーを指名できます。

このスクリプトのユースケースは、長時間の収集がDgraph HDFSエージェントで進行中の場合、およびなんらかの理由でDgraphが停止する場合です。新しい書込みリクエストが発生するまで待機するのではなく、管理者は、このスクリプトを実行するだけで、別のマシンで収集を再起動できます。(ファイルは、収集の正確な進捗状況を記録するHDFSに保持されます。新しく指名されたDgraph HDFSエージェント・リーダーは、ファイルを読み取り、どの時点で収集を選択するかを認識します。)

たとえば、Dgraph_AのDgraph HDFSエージェントは、Dgraphがクラッシュする(結果として収集が中断される)と収集を実行しています。スクリプトが実行されると、新しいリーダーをDgraph_Bにすることができ、この場合、Dgraphが停止した(Dgraph_BがDgraph_Aのかわりに収集を実行していることを除く)時点で収集が選択されます。Dgraph間で共有されている索引が1つのみであるため、新しリーダーによって収集を再開できます。

スクリプトが実行され、その間に新しいリーダーが指名された場合、スクリプトは基本的に同じリーダーを再指名します。

スクリプトを実行するための構文は、次のとおりです。
./appointNewDgraphLeader.sh <dg_address>
dg_addressはFQDN (完全修飾ドメイン名)で、Dgraph Gatewayサーバーのポートです。次に例を示します。
./appointNewDgraphLeader.sh web009.us.example.com:7003

新しいDgraphリーダーを指名するには、次の手順を実行します。

  1. $DGRAPH_HOME/dgraph-hdfs-agent/binディレクトリに移動します。
  2. 前述の例に示すように、appointNewDgraphLeader.shスクリプトを、FQDNおよびDgraph Gatewayのポートとともに実行します。
新しいDgraphリーダーが正常に指名された場合、スクリプトは次のメッセージを返します。
New Dgraph Leader appointed
操作が失敗すると、次のいずれかのメッセージを返します。
Unable to appoint new Dgraph leader

Could not reach Dgraph gateway

試行が失敗するのは、アドレスが正しくないことが原因である可能性があります。