• 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

  • 相关阅读:
    图解插入排序--直接插入排序
    在项目中代替DevExpress(一)
    java web servlet
    一元夺宝项目设计(上)
    一元夺宝项目设计(中)
    一元夺宝项目设计(下)
    ORM之四:调用入口与调用示例
    ORM之三:DbProvider与DbFactory
    ORM之二:核心接口与扩展操作
    ORM之一:适合我的ORM
  • 原文地址:https://www.cnblogs.com/chen8023miss/p/11196015.html
Copyright © 2020-2023  润新知