19

私の理解では、行は HBase テーブルに挿入され、別のリージョン サーバーにリージョンとして格納されています。したがって、リージョンサーバーはデータを保存します

同様に、Hadoop に関しては、データは Hadoop クラスターに存在するデータ ノードに格納されます。

次のように、Hadoop 1.1.1 の上に HBase 0.90.6 を構成したとします。

2 ノード - マスターとスレーブ

  1. マスターノードは、
    • Hadoop - Namenode、Secondary Namenode、ジョブ トラッカー、データ ノード、タスク トラッカー
    • HBase - マスター、RegionServer、および Zookeeper。
  2. スレーブノードは、
    • Hadoop データノードとタスク トラッカー
    • HBase リージョン サーバー

テーブルデータがリージョンサーバーに保存されている場合の私の声明に基づいています。それでは、データノードとリージョンサーバーの役割は何ですか?

4

1 に答える 1

42

データノードはデータを保存します。リージョン サーバーは基本的に I/O 操作をバッファリングします。データは HDFS (つまり、データ ノード) に永続的に保存されます。「マスター」ノードにリージョン サーバーを配置することは良い考えではないと思います。

以下は、リージョンの管理方法を簡略化した図です。

レプリケーション係数 3 で HDFS (NameNode + DataNodes) を実行しているクラスターがあります (各 HDFS ブロックは 3 つの異なる DataNodes にコピーされます)。

RegionServer は、DataNode と同じサーバーで実行します。書き込み要求が RegionServer に来​​ると、最初に変更がメモリに書き込まれ、ログがコミットされます。その後、ある時点で、HDFS 上の永続ストレージに変更を書き込むときが来たと判断します。ここで、データの局所性が問題になります。RegionServer と DataNode を同じサーバーで実行するため、ファイルの最初の HDFS ブロック レプリカが同じサーバーに書き込まれます。他の 2 つのレプリカは、他の DataNode に書き込まれます。その結果、リージョンにサービスを提供する RegionServer は、ほとんどの場合、データのローカル コピーにアクセスできます。

RegionServer がクラッシュした場合、または RegionMaster がリージョンを別の RegionServer に再割り当てすることを決定した場合 (クラスターのバランスを維持するため) はどうなりますか? 新しい RegionServer は最初にリモート読み取りを実行するように強制されますが、圧縮が実行されるとすぐに (変更ログがデータにマージされます)、新しいファイルが新しい RegionServer によって HDFS に書き込まれ、ローカル コピーが RegionServer に作成されます (繰り返しますが、DataNode と RegionServer は同じサーバーで実行されるためです)。

注: RegionServer がクラッシュした場合、以前に割り当てられていたリージョンが複数の RegionServer に再割り当てされます。

良い読み:

  • Tom White の「Hadoop, The Definitive Guide」には、HDFS アーキテクチャの適切な説明があります。残念ながら、私は元の Google GFS 論文を読んでいないので、簡単に理解できるかどうかはわかりません。

  • Google BigTableの記事。HBase は Google BigTable の実装であり、この記事のアーキテクチャーの説明が最も理解しやすいことがわかりました。

Google Bigtable と HBase 実装の用語の違いを次に示します (Lars George の「HBase, The Definitive Guide」から)。

  • HBase-ビッグテーブル
  • 地域 - タブレット
  • RegionServer - タブレット サーバー
  • フラッシュ - マイナー圧縮
  • マイナー圧縮 - マージ圧縮
  • メジャーコンパクション - メジャーコンパクション
  • 先行書き込みログ - コミット ログ
  • HDFS-GFS
  • Hadoop MapReduce - MapReduce
  • MemStore - memtable
  • HFile - SSTable
  • 飼育係 - ぽっちゃり
于 2012-12-06T11:11:11.903 に答える