HBase 完全分散型クラスタの展開

HBase 完全分散型クラスタの展開

1. はじめに

HBase は分散型の列指向のオープンソース データベースです。一般的なリレーショナルデータベースとは異なり、非構造化データを保存するのに適したデータベースです。もう 1 つの違いは、HBase が行ベースではなく列ベースのモデルであることです。 HBase は BigTable とまったく同じデータ モデルを使用します。ユーザーはデータ行をテーブルに保存します。データ行にはオプションのキーと任意の数の列が含まれます。 1 つ以上の列が ColumnFamily を形成します。 Fmaily の下の列は HFile に配置されているため、データのキャッシュが容易になります。テーブルはスパース形式で保存されるため、ユーザーは行に対してさまざまな列を定義できます。 HBase では、データは主キーによってソートされ、テーブルは主キーに基づいて複数の領域に分割されます。

分散型の運用環境では、HBase は HDFS を基本的なストレージ ファシリティとして使用して HDFS 上で実行する必要があります。 HBase の上位層は、データにアクセスするための Java API 層を提供し、アプリケーションが HBase に保存されているデータにアクセスできるようにします。 HBase クラスターは、主にマスター、リージョン サーバー、Zookeeper で構成されます。具体的なモジュールは次の図に示されています。

HBase の関連モジュールの機能を簡単に紹介します。

マスター

HBase マスターは、複数の RegionServer を調整し、各 RegionServer の状態を検出し、RegionServer 間の負荷を分散するために使用されます。 HBaseMaster には、Region を RegionServer に割り当てる役割もあります。 HBase では複数のマスターノードを共存させることができますが、そのためには Zookeeper の助けが必要です。ただし、複数のマスター ノードが共存する場合は、1 つのマスターのみがサービスを提供し、他のマスター ノードはスタンバイ状態になります。動作中のマスター ノードがダウンすると、他のマスター ノードが HBase クラスターを引き継ぎます。

リージョンサーバー

RegionServer には複数のリージョンが含まれます。 RegionServer の役割は、テーブルを管理し、読み取りおよび書き込み操作を実装することだけです。クライアントは RegionServer に直接接続し、通信して HBase のデータを取得します。リージョンは、HBase データが実際に保存される場所であり、つまり、リージョンは HBase の可用性と配布の基本単位です。テーブルが大きく、複数の CF で構成されている場合、テーブル内のデータは複数のリージョンに保存され、各リージョンに複数のストレージ ユニット (ストア) が関連付けられます。

動物園の飼育員

HBase にとって、Zookeeper の役割は非常に重要です。まず、Zookeeper は HBase Master の HA ソリューションです。つまり、Zookeeper は少なくとも 1 つの HBase マスターが実行されていることを確認します。 Zookeeper はリージョンとリージョン サーバーの登録を担当します。実際、Zookeeper は分散型ビッグデータ フレームワークにおけるフォールト トレランスの標準フレームワークとなっています。 HBase だけでなく、分散型ビッグデータに関連するほぼすべてのオープンソース フレームワークは、HA を実現するために Zookeeper に依存しています。

HBase クラスターは Hadoop クラスターをベースに構築されるため、HBase クラスターを構築する前に Hadoop クラスターを構築し、両者の互換性を考慮する必要があります。

2. 環境整備

(1)各サーバーのホスト名を変更し、hostsファイルを追加し、ファイアウォールをオフにする

  1. [root@c7001 ~]# cat > > /etc/hosts < <  終了   
  2. 192.168.16.135 c7001  
  3. 192.168.16.80 c7002  
  4. 192.168.16.95 c7003  
  5. 192.168.16.97 c7004  
  6. 192.168.16.101 c7005  
  7. 終了

(2)c7001はクラスタを起動するためにsshパスワードフリーログインを設定する

  1. ssh-keygen -t rsa  
  2. sh-コピー-id -i ~/.ssh/id_rsa.pub c7001  
  3. ssh-copy-id -i ~/.ssh/id_rsa.pub c7002  
  4. ssh-copy-id -i ~/.ssh/id_rsa.pub c7003  
  5. ssh-copy-id -i ~/.ssh/id_rsa.pub c7004  
  6. ssh-copy-id -i ~/.ssh/id_rsa.pub c7005

(3)各サーバーはjdk1.7+で構成されている

  1. [root@c7001 ~]# tar zxf jdk-8u171-linux-x64.tar.gz -C /opt/  
  2. [root@c7001 opt]# mv jdk1.8.0_171/ jdk1.8  
  3. [root@c7001 opt]# vim /etc/profile  
  4. JAVA_HOME =/opt/jdk1.8をエクスポートします。  
  5. PATHをエクスポート=$PATH:$JAVA_HOME/bin  
  6. [root@c7001 ~] ソース /etc/profile  
  7. [root@c7001 opt]# java -version  
  8. Javaバージョン「1.8.0_171

3. hbaseをインストールする

  1. c7003 c7004 c7005  
  2. [root@c7003 opt]# tar zxf /usr/src/hbase-1.3.0-bin.tar.gz -C /opt/

設定ファイルを変更する

  1. [root@c7003 hbase-1.3.0]# vim conf/hbase-env.sh  
  2. #jdk変数を変更する 
  3. JAVA_HOME =エクスポート  JAVA_HOME = /opt/jdk1.8.0_121  
  4. #HBase 独自の Zookeeper をオフにして、Zookeeper クラスターを使用します。  
  5. エクスポートHBASE_MANAGES_ZK = false  

hbase-site.xml を編集し、構成ファイルを追加します。

  1. <? xml  バージョン= "1.0" ?>    
  2. <? xml スタイルシート タイプ= "text/xsl"   href = "configuration.xsl" ?>    
  3. <構成>    
  4. <プロパティ>     
  5. <名前> hbase.rootdir</名前>     
  6. <> hdfs://c7001:9000/hbase </>     
  7. </プロパティ>     
  8. <プロパティ>     
  9. <名前> hbase.cluster.distributed </名前>     
  10. <></>     
  11. </プロパティ>     
  12. <プロパティ>     
  13. <名前> hbase.zookeeper.quorum </名前>     
  14. <> c7003、c7004、c7005 </>     
  15. </プロパティ>     
  16. <プロパティ>     
  17. <名前> hbase.zookeeper.property.dataDir </名前>     
  18. <> /opt/hbase-1.3.0/tmp/zk/data </​​値>     
  19. </プロパティ>    
  20. </構成>    
  21. vi リージョンサーバー 
  22. #次のコンテンツを追加します:  
  23. c7004  
  24. c7005

Hbaseを他のマシンにコピーする

  1. [root@c7003 opt]$ scp -r hbase-1.3.0 root@c7004:/opt/  
  2. [root@c7003 opt]$ scp -r hbase-1.3.0 root@c7005:/opt/

クラスターを起動する

  1. [root@c7003 hbase-1.3.0]$ bin/start-hbase.sh

ウェブアクセスIP:16010

各ノードのプロセス(画像は複製中)

<<:  IaaS、PaaS、SaaS の違いは何ですか?

>>:  IT の回復力と事業継続性を向上させる 3 つの方法

推薦する

NetEase Yanxuan はどのようにブランドマーケティングを行っていますか? 10の方法論

私がNetEase YanxuanのブランドディレクターであるKang Leに会ったのは2016年末...

webhostingbuzz - プロフェッショナル WordPress ホスティングが 50% オフ / VPS (onapp/managed) が 80% オフ

webhostingbuzz は、仮想ホスト\VPS などの割引コードを公開しています: 割引コード...

V.PSはどうですか?アメリカ東海岸のニューヨークデータセンターのVPSレビュー

v.ps は現在、米国にニューヨーク、シアトル、サンノゼの 3 つのデータセンターを持っています。z...

Zji Hong Kong VDSはどうですか?香港スーパーセットVDSレビュー

zji.net は最近、香港スーパーセット シリーズ製品である香港 VDS をリリースしました。デー...

ロシア・ウクライナ戦争のIT暴露:我が国のITと財政自立の価値と難しさ

1. ロシア・ウクライナ戦争のIT暴露2022 年のロシアとウクライナの戦争では、観客は興奮を、軍...

2020~2025年のクラウドの5つのトレンド

[[314260]] 2020 年代が正式に始まるにあたり、Oracle は将来のテクノロジーとエン...

greenwebpage VPS はどうですか?香港データセンターのVPSの詳細レビュー

greenwebpage は香港 VPS 事業を運営しています。サーバーは M247 コンピューター...

Lovevps-6.99 USD/月 KVM/3 データセンター ケント/オーランド/ロサンゼルス

現在 lovevps が使用しているデータ センターは次のとおりです: - Custodian DC...

伝統的な広告に社会的要素がどのように適用されるかについての簡単な議論

広告には千年近い歴史があります。今日、伝統的な広告は大きな変化を遂げています。伝統的な広告の形態は何...

おすすめ: Vultr-12月の年間20ドルクーポンコード

vultr.com は 12 月に人気の割引コード、SSDVPS を提供しています。このコードを使用...

ウェブマスターが明らかにした:Wanwangは商業コンテンツを含む個人登録番号を厳しく調査しますか?

私の友人の Li Jian によると、彼は最近自分の個人記録をチェックしているが、そこには商業情報や...

Linodeについてはどうですか? [年] Linode オーストラリア クラウド サーバーの簡単なレビューと共有

これまで、日本、シンガポール、インドにある Linode のクラウド サーバーをレビューしてきました...

Yahoo Japan の最適化に関する考察

ヤフージャパンで働いている友人は、参考にできる経験が比較的少ないのですが、需要はかなり高いです。友人...