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

推薦する

Sina Weibo における SEO の価値

中国ではSina WeiboなどのSNSがますます影響力を増し、FacebookのトラフィックがGo...

クラウドデータ

クラウドホスティングは現在、IT 業界でホットなキーワードとなっており、IDC 市場を独占しているサ...

20社以上のインターネット企業が共同でオンライン詐欺対策に取り組む

6月25日午前、アリババグループ、テンセント、百度、新浪、シャンダ、網易、アマゾン中国など21のイン...

競合他社に敬意を表し、彼らから学ぶ

SEO を行う際に、競合他社に敬意を払い、彼らから学ぶことができれば、将来歩める道はより広くなるでし...

anynode-5 USD/512 MB RAM/KVM/40 GB HDD/500 GB フロー

anynode は、KVM 仮想化に基づく VPS を新たにリリースしました。現在、割引コード KV...

データに基づいてチャネルの不正行為や不正行為を判断する方法を段階的に教えます(実際の例)

多くの場合、自分を奮い立たせなければ、物事を台無しにする能力がまだ残っていることに気づきません。 最...

従来の企業はどのようにして電子商取引に切り替えることができるでしょうか?

著者:陳雲波今年のタオバオのダブルイレブンの驚異的な売上高といえば、電子商取引が巷で話題になっている...

SEOの観点からタイトルの長さの影響を分析する

サイトの SEO の観点から、タイトルの長さはサイトの最適化に影響しますか? この質問に対する答えは...

2013 年に外部リンクを構築するためのウェブサイト SEO の 3 つの魔法の武器

2013年、外部リンクを張っていた医療ウェブサイトは急速に消滅し、降格されたり、直接禁止されたりしま...

外部リンク、プロモーション?ウェブマスター、あなたは間違っています、データ分析もあります

多くのウェブマスターは、自分のウェブサイトが長く発展し、存続することを望んでいます。もちろん、生き残...

ブラックハットSEO不正の10の主要手法

今日、私はブラックハットSEOの不正な手法をシェアします。皆さんにブラックハットSEOのやり方を学ん...

Hadoop 分散ストレージと従来の SQL ストレージの比較とストレージ操作の説明

Google は急速に増加するデータ処理に対処するための一連のアルゴリズムを開発しました。その後、誰...

ツール型ウェブサイトのエクスペリエンスデザイン——広告プラットフォームから始める

抄録: はじめに:私は2010年に入社して以来、2年半にわたり広告プラットフォーム部門のプロダクトデ...

クリスマス: webhostingbuzz-50% オフ/ウェブホスティング/VPS/サーバー

クリスマスが近づいており、人気の webhostingbuzz が半額プロモーションを開始し、サイト...

知っておくべき4つの検索エンジンコマンド

私たちはSEOをやります。最もよく使用される検索エンジンのコマンドを習得する必要があります。指示を適...