15 Hbase的理解

一、Hbase概念

1 HBase概述

  • HBase是一个构建在HDFS上的分布式列存储系统
  • HBase是Apache Hadoop生态系统中的重要一员,主要用于海量结构化数据存储;
  • 从逻辑上讲,HBase将数据按照表、行和列进行存储。
  • Hbase与HDFS对比
    • 两者都具有良好的容错性和扩展性,都可以扩展到成百上千个节点;
    • HDFS适合批处理场景,而Hbase适合
      • 不支持数据随机查找
      • 不适合增量数据处理
      • 不支持数据更新
  • Hbase表的特点
    • 大:一个表可以有数十亿行,上百万列;
    • 无模式:每行都有一个可排序的主键和任意多的列,列可以根据需要动态的增加,同一张表中不同的行可以有截然不同的列;
    • 面向列:面向列(族)的存储和权限控制,列(族)独立检索;
    • 稀疏:对于空(null)的列,并不占用存储空间,表可以设计的非常稀疏;
    • 数据多版本:每个单元中的数据可以有多个版本,默认情况下版本号自动分配,是单元格插入时的时间戳;
    • 数据类型单一:Hbase中的数据都是字符串,没有类型。
  • 行存储与列存储

2 Hbase数据模型

  • HBase是基于Google BigTable模型开发的,典型的key/value系统;
  • Hbase逻辑视图
  • Rowkey与Column Family
  • Hbase基本概念
  • Hbase数据模型
  • Hbase支持的操作

3 HBase物理模型

4 HBase基本架构

  • HBase架构
  • Hbase基本组件
  • Zookeeper作用
  • Write-Ahead-Log(WAL)
  • HBase容错性
  • Region定位
  • ROOT-表与.META.表
  • HDFS与Hbase比较
  • 关系数据库与Hbase比较

5 HBase应用举例

  • 何时使用HBase
  • 什么公司在使用HBase
  • Hbase在淘宝的应用
  • Hbase在facebook应用—消息系统
 

二、Hbase环境安装

1. 软件版本下载(注意需要ZK环境)

http://mirror.bit.edu.cn/apache/hbase/

2. 下载软件包

  • Master
wget http://archive.apache.org/dist/hbase/0.98.6/hbase-0.98.6-hadoop2-bin.tar.gz
tar zxvf hbase-0.98.6-hadoop2-bin.tar.gz

3. 修改Hbase配置

  • Master

cd hbase-0.98.6-hadoop2/conf
vim regionservers

master
slave1
slave2

vim hbase-env.sh

#JavaHome
export JAVA_HOME=/usr/local/src/jdk1.8.0_191
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
#是否使用自带的ZK
export HBASE_MANAGES_ZK=false

vim hbase-site.xml

<configuration>
     <property>
         <name>hbase.rootdir</name>
         <value>hdfs://master:9000/hbase</value>
     </property>
     <property>
         <name>hbase.cluster.distributed</name>
         <value>true</value>
     </property>
     <property>
         <name>hbase.zookeeper.quorum</name>
         <value>master,slave1,slave2</value>
     </property>
     <property>
         <name>hbase.master.maxclockskew</name>
         <value>150000</value>
     </property>
     <property>
         <name>dfs.replication</name>
         <value>2</value>
     </property>
 </configuration>

4. 增加环境变量

  • Master、Slave1、Slave2

vim ~/.bashrc

#Hbase
HBASE_HOME=/usr/local/src/hbase-0.98.6-hadoop2
HBASE_CLASSPATH=$HBASE_HOME/conf
HBASE_LOG_DIR=$HBASE_HOME/logs
PATH=$PATH:$HBASE_HOME/bin
  • 刷新环境变量

source ~/.bashrc

5. 拷贝安装包

  • Master

scp -r /usr/local/src/hbase-0.98.6-hadoop2/ root@slave1:/usr/local/src/hbase-0.98.6-hadoop2/
scp -r /usr/local/src/hbase-0.98.6-hadoop2/ root@slave2:/usr/local/src/hbase-0.98.6-hadoop2/

6. 启动关闭集群

  • Master

bin/start-hbase.sh

bin/stop-hbase.sh

  • master
  • slave1
  • slave2

7. 监控页面

http://master:60010/master-status

posted on 2019-07-16 16:57  农夫三拳有點疼  阅读(30)  评论(0编辑  收藏  举报

导航