HBaseのアーキテクチャ解析

クライアント

シェルのLinux、Java(登録商標)API:1などのHBaseにアクセスするためのインタフェース含む領域の位置情報:のような、HBaseの速度を追加する2.メンテナンスキャッシュ・ブロックへのアクセスを

飼育係

唯一のアクティブなクラスタHMASTERがある任意の時間は、高可用性を実現することを確実にするために、ステータスHMASTERを監視する1.選挙メカニズム。HMASTER HRegionServerスタート飼育係に登録されます、例えば、2 HRegionストアすべてのアドレッシング入口:. .METAテーブルたサーバ上の

状態HRegionServer、知覚的にオフラインHRegionServer情報のリアルタイムモニタリング3とHMASTERに通知する
。4ストレージHBaseのスキーマとメタデータ表の一部

HMASTER

HRegionに割り当てられた1 HRegionServer ロードバランシングの責任2. HRegionServer ような再配布を担当する3 HRegionを、:調剤後HRegion HRegionServerダウンタイム; HRegion制御過度解決した後の回復過程HDFS上4.ジャンクファイルを



5スキームの更新要求プロセス

HRegionServer

1.メンテナンスHMASTERはHRegion(マシンの地域管理)に割り当てられたこれらの読み取りおよび書き込み要求の地域2.クライアント・プロセスを、そしてHDFSと相互作用して、徐々にHRegionを高め運転中に解析するため3.責任

  HMASTER HBaseの上のクライアントアクセスデータは、参加する必要はありません。飼育係HRegionServerへのアクセスおよびアドレス、データアクセスがHRegionServerを読み書きする必要があります。HMASTERのみHRegionのメタデータと情報テーブルを維持します。テーブル部とHMASTERよう飼育係に格納されたメタデータ情報、低負荷  のサブテーブルは、各ストアの最初HRegionオブジェクトを作成し、1つまたは複数のオブジェクトストアファミリテーブル列を作成HRegionServerアクセスオブジェクトがゼロ以上StoreFile MemStoreコントラストを有することになる、各意志HFILE StoreFileに対応する、HFILEは、実際の格納ファイルです。そのため、どのように多くの列HRegionは、多くの家族ストア、HRegionServerは、複数のHRegionとハントを持っていることがあります

[ハント]

  WAL(先行書き込み-ログ):ログ先行書き込みを、あなたはそれが使用する名前から見ることができ、「事前に書かれた」とされている耐障害性とデータ回復のためのメカニズム。それぞれが[ハント]オブジェクトでHRegionServerを持って、ハントはログインがクライアントが着陸HRegionServerを提出した操作を実装するクラスである前方に書く、HBaseのは、最初に行くために書かれたハント]ファイルを操作する場合、HBaseのデータは、その後に配置されますベースMemStoreは、メモリ内に実装されています。、新しいファイルを作成して保存し、古いファイルを削除します定期的に[ハント]ファイルがStoreFileのデータに続いています。HRegionServer障害が、HMASTERが飼育係を通じて知覚するとき、HMASTER [ハント]まず異なるHRegionログデータは、対応するHRegionディレクトリにそれぞれ分割し、その後HRegion障害を再配布された残りのドキュメントを処理します。MemStoreへのロード中にこれらのHRegionServer HRegionを受信するHRegion、プロセスが見つけ、[ハント]を左になり、そしてリプレイハント]でとStoreFile、完全なデータ回復へのフラッシュ

HRegion

テーブルまたはテーブルの一部である最小単位1.HBase分散ストレージとロードバランシング、
2は、データスライス、表セグメント内の行、各領域に対応し、開始のrowKeyを有しますrowKey端部は、それが行を格納する範囲を示し
、各内部HRegionストアインスタンスを複数含む3
デフォルト256Mより4. HRegionは、2つに分割され、このプロセスはHRegionServerによって実現されます

格納

  格納ファミリーは、2つのHRegionストアが存在する2つの列のテーブルを持っている場合、各列は、データのグループに対応し、それぞれがMemStoreストアと内部StoreFileた複数の

Memstore

データがWALに書き込まれた後、時間の大きさは、永続ストレージの形で、HDFSに書き込まれるように特定の閾値まで増加し、次いでMemStoreにロードされるHFILE   

  デザインMemStoreの理由は次のとおりです
  HDFS上のファイルは、変更することはできませんだけで作成することができるので1、追加または削除。データベースの場合、ストレージ・シーケンスのデータは非常に重要です。(読書の効率性を保護し、改善するための機能なので、私たちはディスクに書き込まれるデータの到着順にすべきではない。それは、順番に編成して、ディスクに書き込まれたデータを格納する第1の使用メモリに必要になり、これは存在MemStoreの意味でありますあなたが開いている場合が、最初に読んBlockCacheに、MemStoreの再読み込みディスクを読み込まれたデータを読み込むBlockCache、このBlockCacheと呼ばれる特別なキャッシュを持つように時間を読み取ることが当然だと思い取ることはありません、ユーザーが料理を読み取ることができません読んで+ memstore HFILE
  2.そのようなデータを除去する必要がある後にフラッシュがHDFSにデータを置くことができない場合にように、しばらくの追加などのデータのストレージを最適化します

StoreFile

StoreFileは、データをメモリMemStore内のファイルに書き込まれ、論理的な概念である後に、基礎となるStoreFileは、フォーマットHFILEにStoreFile格納されています   

HFILE

HBaseのはJavaに基づいているため1.HFileは、実際のベクトルデータ記憶装置であるので、すべての物理的なエンティティがHFILEと呼ばれる私たちのフラッシュパイプStoreFileファイルから物理ストレージ上のオブジェクトのコントラストを、持っている、StoreFileですHFILE抽象クラス
の例StoreFile 2.は、データ・ブロックは、1つから構成され、デフォルトのブロックサイズは、BLOCKSIZEをカラムグループによって定義された属性のHBaseで64キロバイトであり、主記憶装置の内部はKVあります

 

おすすめ

転載: www.cnblogs.com/JoshWill/p/11564227.html