Hbase--アーキテクチャとデプロイ

1.アーキテクチャ

  • 分布式主从架构
    • マスター:Hマスター
      • スレーブノードを管理する
    • 差出人:HRegionServer
      • 仕事の責任:保管
      • データはRegionServerのメモリに保存されます
  • HDFS
    • 用于实现Hbase中数据的持久化
  • Zookeeper
    • 存储关键性数据
    • 辅助选举:2つのHMaster、1つはアクティブ、1つはスタンバイ
    • HbaseはZookeeperに大きく依存しています
      • ほとんどの分散フレームワークはZookeeperに依存しています
      • Zookeeperと同様のメカニズムを実装しない限り
        ここに画像の説明を挿入

2.分散クラスターの展開

まず、インストールと構成のためにマシンを選択します

  • アップロード
cd /export/software/
rz

ここに画像の説明を挿入

  • 解凍してインストールします
tar -zxvf hbase-1.2.0-cdh5.14.0.tar.gz -C /export/servers/
  • ディレクトリ構造
    • bin:コマンドの保存に使用されるディレクトリ
    • conf:設定ファイルディレクトリ
    • lib:依存パッケージのディレクトリ
    • ログ:ログが保存されるディレクトリ

設定を変更する

  • hbase-env.sh:Hbaseランタイムの環境変数を変更します
#修改第27行
export JAVA_HOME=/export/servers/jdk1.8.0_141
#修改128行
export HBASE_MANAGES_ZK=false
  • hbase-site.xml:Hbaseのプロパティを構成します
    • すべてのhbaseプログラムについて、最初にhbase-default.xmlをロードしてから、hbase-site.xmlをロードします。
    • ディレクトリを作成する
cd /export/servers/hbase-1.2.0-cdh5.14.0/
mkdir  datas
<!--指定Hbase 临时存储目录的-->
  <property >
    <name>hbase.tmp.dir</name>
    <value>/export/servers/hbase-1.2.0-cdh5.14.0/datas</value>
  </property>
  <!--指定Hbase在HDFS上的存储目录-->
  <property >
    <name>hbase.rootdir</name>
    <value>hdfs://node-01:8020/hbase</value>
  </property>
  <property >
    <name>hbase.fs.tmp.dir</name>
    <value>/user/${user.name}/hbase-staging</value>
  </property>
  <property >
    <name>hbase.bulkload.staging.dir</name>
    <value>${hbase.fs.tmp.dir}</value>
  </property>
  <!--指定Hbase的运行模式是否是分布式-->
  <property >
    <name>hbase.cluster.distributed</name>
    <value>true</value>
  </property>
  <!--指定Zookeeper的地址-->
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>node-01:2181,node-02:2181,node-03:2181</value>
  </property>
  • hdfsがHAで構成されている場合
    • core-site.xmlとhdfs-site.xmlをhbaseのconfディレクトリに配置することに注意してください
  • regionservers:Hadoopのslavesファイルと同様に、hbaseスレーブノードのアドレスを構成します
node-01
node-02
node-03

マスターノードのアドレスが指定されていないのはなぜですか?

  • Hbaseの最下層はZookeeperに大きく依存しているため、Zookeeperに直接関連付けられています
  • どのマシンでもマスターノードを起動できます
  • 最初に起動するマシンはアクティブなマスターノードです
  • 他のマシンはマスターノードを起動し、スタンバイのマスターノードです
  • マスターノードプロセスHMasterを開始できるマシンを定義する必要がある場合
    ここに画像の説明を挿入
  • 成し遂げる
cd /export/servers/hbase-1.2.0-cdh5.14.0/
vim conf/backup-masters

node-02

分布

cd /export/servers/
scp -r hbase-1.2.0-cdh5.14.0 node-02:$PWD
scp -r hbase-1.2.0-cdh5.14.0 node-03:$PWD

起動

  • 最初にHDFSを開始します
    • Hbaseは、HDFSがセーフモードを終了した後にのみ開始できます
start-dfs.sh 
  • 次に、Zookeeperを起動します
    • スクリプトがない場合は、一度に1つのプロセスを開始します
    • 起動が完了したら、必ず飼育係の状態を確認してください。
/export/servers/zookeeper-3.4.5-cdh5.14.0/bin/start-zk-all.sh 
  • 次に、Hbaseを起動します
    • 方法1:最初のマシンがすべてのマシンのプロセスを一度に開始します
cd /export/servers/hbase-1.2.0-cdh5.14.0/
bin/start-hbase.sh 
  • シャットダウン
    • 最初にhbaseを閉じます
    • hdfsまたはzookeeperを再度オフにします
bin/stop-hbase.sh
  • 注意:
    • 開始プロセス
      ここに画像の説明を挿入
  • 警告心配しないでください
    ここに画像の説明を挿入
  • 方法2:単一のプロセスを開始する
cd /export/servers/hbase-1.2.0-cdh5.14.0/
bin/hbase-daemon.sh start master
bin/hbase-daemon.sh start regionserver

テスト訪問

  • jps:プロセスが完了しているかどうかを確認します
    • プロセスが自動的に消える場合は、ログを確認してください
    • ログはどこにありますか?
      ここに画像の説明を挿入
tail -100f logs/hbase-root-master-node-01.log
  • WebUIにアクセス
node-01:60010
node-02:60010

注意:hbase我们使用的是1.x版本
	apache从1.x开始网页端口更改为16010
	cdh延续以前老版本的端口:60010

ここに画像の説明を挿入
ここに画像の説明を挿入

  • 最初の構成環境変数
vim /etc/profile

export HBASE_HOME=/export/servers/hbase-1.2.0-cdh5.14.0
export PATH=$PATH:$HBASE_HOME/bin

source /etc/profile

おすすめ

転載: blog.csdn.net/qq_46893497/article/details/114189761