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 つの方法

推薦する

ginernet - 年間 14 ドル / スペイン / 512 MB RAM / 5 GB SSD / 100 GB データ トラフィック

ginernet は、実は定評のある企業です。Host Cat の以前の紹介をご覧ください。データセ...

誤解を解く: データ インフラストラクチャをクラウドに移行する

新たな技術の進歩が現れるにつれ、人々はクラウド コンピューティングがすべての問題を解決する、長い間宣...

360 Search: 苦戦するウェブマスターに新たな希望を与えます!

6月22日以降、インターネット全体の個人ウェブサイトで異常な動作が発生し始めました。まず、Baidu...

格安WindowsVPS-$30/4Gメモリ/160gSSD/4Tトラフィック/4コンピュータルーム/Windows03/08/12

cheapwindowsvpsは、数日前のメールで、特別版のベアメタル専用サーバーホスティング(サー...

crowncloud-Phoenix KVM 再入荷/7 USD/2G メモリ/30g ハードディスク/3T トラフィック

crowncloudのPhoenix KVMが再入荷し始めました。新モデルのはずです。今回は、2Gメ...

Alibaba Cloud モニタリングに一貫性がないように見えますか?それではGrafanaのソリューションを見てみましょう

最近では、クラウド上に配置されるアプリケーションがますます増えてきており、当社も例外ではありません。...

微博一全初から学ぶべき小紅書マーケティングのポイント:セレブ+KOLのヒット商品のルール

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています今年の 6...

国家著作権局:「剣網2014」は伝統的なメディア作品の違法複製の撲滅に焦点を当てる

新華網北京6月17日(記者屈静)記者が17日、国家著作権局から得た情報によると、国家著作権局、国家イ...

WeChat でサブスクリプション アカウントのグループ化が遅いのはなぜですか?

この問題を議論する前に、いくつかの点を指摘する必要がある。この記事で説明されているすべての問題は、W...

中小企業のネットワークマーケティングにおけるユーザー行動習慣の分析

序文: 方向が間違っていると、一生懸命努力すればするほど、目標から遠ざかってしまいます。電子商取引の...

オンラインパスワードマネージャーLastPassがハッキングされる

概要: 先週金曜日に LastPass のネットワークがハッカーに侵入され、攻撃者はユーザー アカウ...

マーケティング業界は国境を越えた企業製品のプロモーションを続けており、常に覆す必要がある。

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますインターネ...

タオバオオンラインストアのSEOユーザーエクスペリエンスについて

みなさんこんにちは。黄山人材ネットワーク編集長の程睿睿です。ご存知のとおり、大規模なウェブサイトでも...