Hbase-architecture
提供:Dev Guides
HBase-アーキテクチャ
HBaseでは、テーブルはリージョンに分割され、リージョンサーバーによって提供されます。 リージョンは、カラムファミリごとに「ストア」に垂直に分割されます。 ストアはHDFSにファイルとして保存されます。 以下に、HBaseのアーキテクチャを示します。
注意:「ストア」という用語は、ストレージ構造を説明するためにリージョンに使用されます。
HBaseには、クライアントライブラリ、マスターサーバー、リージョンサーバーの3つの主要コンポーネントがあります。 リージョンサーバーは、要件に応じて追加または削除できます。
MasterServer
マスターサーバー-
- リージョンサーバーにリージョンを割り当て、このタスクのためにApache ZooKeeperの助けを借ります。
- リージョンサーバー間でリージョンの負荷分散を処理します。 使用中のサーバーをアンロードし、領域を占有率の低いサーバーにシフトします。
- 負荷分散をネゴシエートすることにより、クラスターの状態を維持します。
- スキーマの変更、およびテーブルや列ファミリの作成などの他のメタデータ操作を担当します。
地域
リージョンは、分割されてリージョンサーバー全体に広がるテーブルに他なりません。
地域サーバー
地域サーバーには次の地域があります-
- クライアントと通信し、データ関連の操作を処理します。
- その下のすべての領域に対する読み取りおよび書き込み要求を処理します。
- 領域サイズのしきい値に従って領域のサイズを決定します。
リージョンサーバーを詳しく見ると、以下に示すようにリージョンとストアが含まれています。
ストアには、メモリストアとHFilesが含まれます。 Memstoreはキャッシュメモリのようなものです。 HBaseに入力されたものはすべて、最初にここに保存されます。 その後、データが転送され、Hfilesにブロックとして保存され、memstoreがフラッシュされます。
飼育係
- Zookeeperは、構成情報の維持、命名、分散同期の提供などのサービスを提供するオープンソースプロジェクトです。
- Zookeeperには、異なるリージョンサーバーを表す一時ノードがあります。 マスターサーバーはこれらのノードを使用して、使用可能なサーバーを検出します。
- 可用性に加えて、ノードはサーバー障害またはネットワークパーティションの追跡にも使用されます。
- クライアントは、zookeeperを介してリージョンサーバーと通信します。
- 擬似モードおよびスタンドアロンモードでは、HBase自体が動物園飼育係を処理します。