複数の Web サイトやビデオの資料を調べていると、3 つの Hadoop コンポーネントである ZooKeeper、Journal Node、および Quorum Journal Manager の機能と目的の違いに混乱しています。
上記のそれぞれを発明した理由と、上記の 3 つのコンポーネントの目的と機能の違いを説明してもらえますか?
前もって感謝します。
複数の Web サイトやビデオの資料を調べていると、3 つの Hadoop コンポーネントである ZooKeeper、Journal Node、および Quorum Journal Manager の機能と目的の違いに混乱しています。
上記のそれぞれを発明した理由と、上記の 3 つのコンポーネントの目的と機能の違いを説明してもらえますか?
前もって感謝します。
まず、定足数とは、決定には過半数が必要であることを意味します。したがって、「クォーラム」という言葉を目にしたときは、クラスター化されたものを考えるべきです。マルチホスト構成。この用語は、Zookeeper と Journal Nodes の両方で聞くことができます。
それらの機能の簡単な説明は、それらの目的を区別するのに役立ちます。
Zookeeper : Zookeeper は、アプリケーションが頻繁にチェックする必要がある情報を集中的に同期するアプリケーションです。命名構造、情報、構成情報 (または単に構成) など、アプリケーションが必要とする多くの情報が存在する可能性があります。最も一般的なケースは、アプリケーションの構成です。たとえば 80 台のサーバーに関連する構成を変更する場合、この変更をすべてのノードに同期するには、同期サービスを開発する必要があります。アプリケーション自体にこの機能がある場合があります。しかし、さらに 12 個のアプリケーションを環境に追加するとします。各アプリケーションの同期サービスを 1 つずつ処理する必要があります。ここで Zookeeper の出番です。Zookeeper は、これらすべての情報を単独で管理できます。クラスターとしてセットアップする場合 (奇数のホストが必要です。なぜ?) Zookeeper の高可用性 (フェールオーバーの場合) があり、Zoopeeker クォーラムがあります。
ジャーナル ノード: 高可用性 Hadoop クラスターでは、複数の Namenode がアクティブ/パッシブ モードで実行されています。アクティブな namenode はジャーナル ノードに変更を通知します。スタンバイ ネーム ノードは、何が変更されたかについてジャーナル ノードに要求します。Zookeeper の場合と同様に、クラスター構成としてセットアップした場合 (ここでも奇数のホストが必要です。なぜですか? )、Journal Node 機能に対しても高可用性があり、Quorum Journal Manager があります。
実際、実験目的 (PC の vm) を除いて、それらが単一のホストまたはノードとして設定されているとは聞いていません。
1.飼育係
ZooKeeper は、構成情報の維持、命名、分散同期の提供、およびグループ サービスの提供を行うための集中型サービスです。これらの種類のサービスはすべて、分散アプリケーションによって何らかの形で使用されます
Hadoop エコシステムにおける Zookeeper の役割:
Hadoop Namenode のフェイルオーバー プロセス中に、ZooKeeper を使用してスプリット ブレイン シナリオを回避し、フェイルオーバーによって名前ノードの状態が分岐しないようにしました。
詳細については、この投稿を参照してください。
Hadoop Namenode フェイルオーバー プロセスはどのように機能しますか?
2. JournalNode (ネームノードのフェイルオーバープロセスで使用)
スタンバイ ノードがアクティブ ノードと同期した状態を維持するために、両方のノードが「JournalNodes」(JN) と呼ばれる個別のデーモンのグループと通信します。
JournalNode マシン- JournalNode を実行するマシン。JournalNode デーモンは比較的軽量であるため、これらのデーモンは、 NameNodes、JobTracker、またはYARN ResourceManagerなどの他の Hadoop デーモンと一緒にマシンに配置するのが合理的かもしれません。
注:編集ログの変更は大多数の JN に書き込まれる必要があるため、少なくとも 3 つの JournalNodeデーモンが必要です。これにより、システムは 1 台のマシンの障害に耐えることができます。
3. Quorum Journal Manager (QJM)により、アクティブ NameNode と Standby NameNode の間で編集ログを共有できます。
重要なのは、Quorum Journal Managerを使用する場合、1 つのNameNodeのみがJournalNodesへの書き込みを許可されるため、スプリットブレイン シナリオからファイル システム メタデータが破損する可能性がないことです。