完全分散型のHBase:
1)は、異なるプロセスがHBaseの、生産環境のためのホストサーバより高いクラスタ構成、操作及びメンテナンスの複数のハードウェア構成に独立して実行HBaseの
2)が配備のHBase、HDFSストアデータに依存HDFSクラスタは完全に分散する前に機能を持っている必要があります
3)独立した外部のZooKeeperクラスタに依存し、内蔵のHBaseのZooKeeperを使用して
実験前提: HBaseのは、Hadoopの展開に完全に依存して、分散、この実験はすぐに完全に分散Hadoopクラスタ実験を展開し、実験が完了し、完全分散型のHadoopの実行には、デモの展開を成功に基づく(非HA)のHBaseを完全に分散続きます
実験目的:教育のデモンストレーションのための3つのホストからなる小さなクラスタ上の分散データベースのHBaseの展開
環境要件:VirtualBoxの仮想マシンのオペレーティングシステムCentos7 HadoopのバージョンのHadoop-2.6.0-cdh5.7.0 HBaseのバージョンのHBase-1.2.0- cdh5.7.0.tar.gz
クラスター計画:仮想マシンをコピーする必要はありません、3つのホストマスター、スレーブ1、スレーブ2の完全な完全分散型のHBase(非HA)展開の完全分散型クラスタの直接の使用
ホストのIP | ホスト名 | クラスタの役割 |
---|---|---|
192.168.56.20 | 主人 | HQuorumPeer 名前ノードデータノード HMASTER HRegionServer |
192.168.56.21 | SLAVE1 | HQuorumPeer データノード HRegionServer |
192.168.56.22 | スレーブ2 | HQuorumPeer データノード HRegionServer |
億は最初に正常にデプロイし、完全分散Hadoopクラスタを実行する必要があります
HBaseのは、完全分散型(非HA)クラスタの実験手順を構築
1)スタート3つのホストマスター完全分散型クラスタ、スレーブ1とスレーブ2
2)win7の中XSHELLリモートログイン、ネットワークセグメント内の仮想ネットワークアダプタIP(192.168.56.1)必須アドレスおよびLinux仮想マシンの注意VirtualBoxホストのネットワーク管理者と
指定されたディレクトリへの3)解凍のHBase-1.2.0-cdh5.7.0.tar.gzのインストールパッケージは/ usr / local
マスター、スレーブ1には、スレーブ2 3つのホストは、インストールパッケージ解凍し(ない同時に)有効にする必要があります。
タール-zxvf HBaseの-1.2.0-cdh5.7.0.tar.gz -Cは/ usr / local /解凍ディレクトリ/ usr / local
特記事項:DOは同時にデ3仮想マシンの圧縮コマンドを実行していない、それが原因のクラッシュにそうです!!!
4)力に環境変数エントリを設定します
あなたは、マスター、スレーブ1、スレーブ2 3つのホスト上で環境変数を設定する必要があります
プロファイルプロファイルの最後でのVI / etc / profileを増加青色フォントコンテンツの:
#JDK
輸出JAVA_HOME =は/ usr / local / javaの/ jdk1.8の
輸出PATH = $ PATH:$ JAVA_HOME / binに
#Hadoopの
輸出HADOOP_HOME =は/ usr / local /のHadoopの-2.6.0-cdh5.7.0の
輸出PATH = $ PATH:$ HADOOP_HOME / binに:$ HADOOP_HOME / sbinに
#HBaseの
輸出HBASE_HOME =は/ usr / local /のHBaseの-1.2.0-cdh5.7.0の
輸出PATH = $ PATH:$ HBASE_HOME / binに
やることを忘れないでくださいソースは/ etc / profileのコマンド原因とHBaseの環境変数を有効にするには
5)ファイアウォール、ファイアウォールSELinuxをオフにします
shutdownコマンドsystemctl無効firewalldのSELinuxのコマンドsetenforceを実行してファイアウォールをオフに0
検査マスタ、スレーブ1との間の6)SSHは、フリー(特に重要)各濃度のログをスレーブ2
精査のないログイン後、各ホストのSSHマスター、sshをスレーブ2、sshをスレーブ2のコマンド、近くのログインが成功しないように連続して行われるために、あなたは混乱を避けるために、元の会話に出て、戻るには、exitを入力する必要があります
7))設定ファイル(重要なステップを変更
ディレクトリhbase-env.shプロファイルに切り替える/usr/local/hbase-1.2.0-cdh5.7.0/conf CD
マスタホストhbase-env.sh上のa)まず修正
VI hbase-env.sh変更するには、以下のパラメータ:
輸出JAVA_HOME =は/ usr / local / javaの/ jdk1.8
HBASE_MANAGES_ZK =エクスポートtrueに #のHBaseは、内蔵のZooKeeperを使用しました!!!
実行ソースhbase-env.shコマンドは、HBaseの設定パラメータを有効にすることができます
マスターホスト上のb)の修正HBaseの-site.xmlの
VIのHBase-site.xmlの次のパラメータを変更します。
<設定> </ configuration>の間に増加し、青のフォントの設定パラメータ
<設定>
<プロパティ>
<名前> hbase.rootdir </名前>
<値> HDFS://マスター:8020 / HBaseの</ value>の
</ property>の
<プロパティ>
<名前> hbase.zookeeper.property.dataDir < /名前>
<値> /ルート/ HBaseの/飼育係</ value>の
</ property>の
<プロパティ>
<名前> hbase.cluster.distributed </名前>
<値>真</ value>の
</ property>の
<プロパティ>
<名前> hbase.zookeeper.quorum </名前>
<値>マスタ、スレーブ1、スレーブ2 </値>
</ property>の
</構成>
パラメータ:
hbase.rootdir:データ・ストレージ・パスは、HDFSのHBaseの指定
hbase.zookeeper.quorum:(HBaseのZooKeeperのを使用して構築された)完全分散HBaseのためには、コンフィギュレーションファイルhbase-env.sh、この場合HBASE_MANAGES_ZKパラメータで、内蔵ZooKeeperのホストのリストにパラメータとして値を設定しなければなりませんそれはでなければならない真
hbase.cluster.distributed: trueに設定し、HBaseの完全分散の使用を開始を伝えます
C)ファイルregionserversを変更
そこregionservers
元の行を削除し、新しいアドオン三行:
マスター
スレーブ1の
スレーブ2
8)HBaseのプロファイルディレクトリにHadoopの2つのプロファイルとコアのsite.xml HDFS-のsite.xmlのコピーを(HBaseのがHDFSに依存しています)
ターンでは、コマンドCP /usr/local/hadoop-2.6.0-cdh5.7.0/etc/hadoop/core-site.xml /usr/local/hbase-1.2.0-cdh5.7.0/confを実行します
CP /usr/local/hadoop-2.6.0-cdh5.7.0/etc/hadoop/hdfs-site.xml /usr/local/hbase-1.2.0-cdh5.7.0/conf
重要な注意:二つの理由Hadoopのコンフィギュレーション・ファイルのコピーのために(HBaseのは、Hadoopのに依存しているため、完全に分散配置)のHBaseは、HDFSに構成パラメータを読むことができるようにすることです、HBaseの3つの方法で設定パラメータのHDFSを読み取ることができます。
1. $ HBASE_CLASSPATH HADOOP_CONF_DIRパラメータファイルhbase-env.shに割り当てられた(すなわち、Hadoopのプロファイルパス/usr/local/hadoop-2.6.0-cdh5.7.0/etc/hadoop) (推奨実施形態は、本実験を行いました多少面倒採用)
2. HDFSのHBase confディレクトリをコピーするための設定ファイル(本実施形態を使用して、この実験では、最も簡単)
3.場所でのHBaseの設定ファイルのHBase-site.xmlのに直接書き込まれ、いくつかのHDFSの設定パラメータ(ほとんどのトラブル、お勧めしません)
9)リモートコピー複数の他のマスタコピーにプロファイルとの両方のホストスレーブ1スレーブ2
設定ファイルのディレクトリにcd /usr/local/hbase-1.2.0-cdh5.7.0/confスイッチ
順番にコマンドを実行
SCP hbase-env.sh HBaseの-site.xmlのコア-site.xmlのHDFS-のsite.xml regionserversルート@スレーブ1:/usr/local/hbase-1.2.0-cdh5.7.0/conf/
SCP hbase-env.sh HBaseの-site.xmlのコア-site.xmlのHDFS-のsite.xml regionserversルート@スレーブ2:/usr/local/hbase-1.2.0-cdh5.7.0/conf/
10)マスターブート実行start-dfs.sh HDFS(HDFSのこのステップをスキップすることができます前に、すでに開始されている場合)
11)のHBaseクラスタを開始
HBaseのマスターホストの起動スクリプトstart-hbase.shで実行、スクリプトの役割は、関連するすべてのHBaseのプロセスを開始することです、それはコマンドマスターホストを実行時に起動するのが最善の方法です
[マスター@ルート〜]#JPS
2176名前ノード
3015 JPS
2808 HMASTER
2952 HRegionServer
2729 HQuorumPeer
2268データノード
[ルート@スレーブ1〜]#JPS
2097データノード
2356 HRegionServer
2423 JPS
2154 SecondaryNameNode
2285 HQuorumPeer
[ルート@スレーブ2〜]#JPS
2260 HRegionServer
2363 JPS
2189 HQuorumPeer
2094データノード
win7の下の12)、アクセスはクロムブラウザで構成自身のウェブサイトのHBase http://192.168.56.20:60010を 、ページの説明に成功した訪問、次の発生する可能性があります。
いくつかの重要な属性情報スクリーンショット:
13)試験に成功したかどうかを接続HDFSのHBase
試験方法:HBaseの正常に接続HDFSは、HDFS上のディレクトリパス/ HBaseのを作成する場合
実行のHadoop FS -ls /コマンドは、ルートディレクトリの下かどうかがHBaseのHDFSのサブディレクトリをチェック
14)执行命令hbase shell进入hbase shell环境
15)HBase Shell命令的简单测试
执行命令create 'testTable', 'testFamily' 创建一张表testTable,包含一个列族testFamily
执行命令list 列出HBase中的所有表
执行命令describe 'testTable' 描述表testTable的属性信息