栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 云计算 > 云平台

HBase安装配置及测试

云平台 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

HBase安装配置及测试

一、HBase简介 (一)Hadoop
  1. 核心
    HDFS分布式存储、MapReduce分布式计算、Yarn资源调度和管理
  2. 局限性
    批量处理(MR)、顺序访问数据(HDFS)
    查找数据是必须搜索整个数据集,效率很低
(二)HBase

  1. HBase是BigTable的开源java版本,建立在hdfs之上,分布式、列存储、支持实时读写、nosql(k-v)的数据库
  2. 结构:主键(rowKey)、timestamp(时间戳)、column family(列簇)和column(列)
  3. HBase仅能通过主键(rowkey)和主键的范围(range)检索数据
  4. 可以存储结构化和半结构化的数据
  5. HBase中所有的数据用字节数组byte[]来进行存储
  6. 可以横向扩展,可以不断的增加服务器来提高存储能力,从而实现海量存储
  7. 数据量很大,可以有十几亿行,几百万列
  8. 面向列存储
  9. 稀疏存储(稀疏矩阵:非零元素很少的矩阵,利用三元组(行,列,值)存储非零元素,0元素不存储)
(三)HBase的应用场景
  1. 对象存储(oss)
    新闻、网页、图片、视频等,例如阿里云oss
  2. 时序数据
    每个数据都带有时间戳叫做时序数据,比如记录传感器的数据
  3. 推荐画像
    用户画像的数据其实就是一个比较大的稀疏矩阵,比如蚂蚁金服的风控系统
  4. Olap
    在线联机分析系统
    注:oltp(在线事务分析系统,建立在关系数据库之上的,支持回滚)
  5. Feeds流
    典型的应用就是微信朋友圈类似的应用,发布新内容,对新内容进行点赞评论
  6. 爬虫数据的存储
(四)HBase的特点
  1. 强一致性读/写
    CAP原则

  2. 自动分块
    通过Region分布在集群上

  3. 自动故障转移

  4. Hadoop/HDFS集成

  5. MapReduce

  6. Java API

(五)HBase的发展过程

(六)RDBMS和HBase的比较
  1. RDBMS
  • RDBMS(关系数据库管理系统,mysql、sqlserver、Oracle)
  • 数据库以表的形式独立存在
  • 支持FAT(dos)、NTFS(windows)、NXT(linux)
  • 主键(primary key)
  • 分库分表
  • 行、列、单元格
  • 支持向上扩展
  • 使用sql(增删改查)
  • 面向行
  • acid特性
  • 结构化的数据(二维表格)
  • 支持事务(transaction)
  • 支持join(连接,全连接、自然连接、左连接、右连接)
  • 中心化
  1. HBase
  • 以表的形式存在
  • 支持HDFS
  • 使用行键(rowkey)
  • 分布式存储
  • 支持向外扩展
  • 使用api和mapreduce、spark、flink来访问HBase表数据
  • 面向列
  • 不支持acid,但是遵循cap原则
  • 结构化和非结构化数据
  • 不支持事务
  • 不支持join
  • 分布式
(七)HBase和HDFS的对比
  1. HDFS
  • 分布式
  • 存储系统,不是一个文件系统,无法快速的查询数据
  1. HBase
  • 建立在hdfs上,为大型表提供快速查找和更新
  • HBase在hdfs上建立了storefiles的索引,进行快速查询
(八)HBase和Hive的对比
  1. Hive
  • 数据仓库工具:Hive的本质就是相当于将hdfs的文件在mysql中做了一个一一对应的映射关系,以方便HQL(类sql)进行数据的管理
  • 用于数据分析、清洗等;适用于离线数据,延迟很高
  • 基于HDFS和MapReduce:Hive数据存储在hdfs的DataNode上,HQL转换为MapReduce程序执行
  1. HBase
  • NoSql:面向列的非关系型数据库
  • 用于存储结构化和非结构化数据
  • 基于hdfs:HBase的存储文件Hfile存放在DataNode上,被RegionServer以region(分区)的形式进行管理
  • 延迟较低,适合于olap(实时的在线业务,如天猫双十一实时成交额大屏展示)
  1. 总结
  • Hive和HBase是两种基于Hadoop的不同技术
  • Hive是一种类sql的引擎,并运用mapreduce执行任务
  • Hbase是一种nosql的key/value数据库,可以使用spark或flink高速执行任务
  • 两者可以同时使用,用hive进行统计查询,hbase进行实时查询,数据可以在两者之间进行转换
(九)NoSql非关系型数据库
  1. Sql数据库:增(insert into)删(delete from)改(update set)查(select)mysql、Oracle、sqlserver
  2. NoSql:not only sql(不仅仅是sql),key/value格式的数据库,redis(高速缓存比如秒杀抢购)、memcache、mongodb、hbase
二、HBase集群搭建 (一)HBase下载并安装
  1. 官网下载
    百度搜索hbase

    点击download,选择自己需要的版本,本次安装选择版本2.4.10
  2. 上传到服务器
  3. 解压
tar -xzvf hbase-2.4.10-bin.tar.gz -C ../servers/
  1. 配置环境变量
  2. 使环境变量起作用
source /etc/profile
  1. 测试

    说明配置成功
  2. 修改配置文件
  • hbase-env.sh
    修改jdk的路径

    修改不适用hbase自己的zookeeper,使用外部的zookeeper
  • hbase-site.xml
  • regionservers
  1. 分发文件
  • 分发hbase安装包
scp -r hbase-2.4.10/ hadoop02:$PWD
scp -r hbase-2.4.10/ hadoop03:$PWD
  • 分发环境变量配置文件
scp /etc/profile hadoop02:/etc
scp /etc/profile hadoop03:/etc
(二)启动
  1. 启动hadoop
  2. 启动zookeeper
  3. 启动hbase
start-hbase.sh


4. 查看进程

(三)HBase的web UI查看

(四)HBase shell的测试





问题:出现乱码
解决:添加选项{FORMATTER => ‘toString’}


观察hdfs上文件信息,hbase的数据都储存在hdfs上

(五)各种角色服务器参考的硬件配置

推荐:

  • Master服务器要运行NN、RM、HM,推荐内存24GB以上
  • Slave服务器要运行DN、NM、HR,推荐内存24GB以上
  • 根据cpu的核心数来选择在某个节点上运行的进程数,例如,两个4核cpu=8核,每个java进程都可以独立占用一个核
三、HBase原理和数据模型 (一)概述

在hbase中,数据储存在行和列的表中,可以把表看作是多个维度的map(k-v)结构

(二)术语
  1. 表(table)
  • hbase中数据都是以表的形式来组织的
  • hbase中的表由多行(几十亿)组成
  1. 行(rowkey)
  • hbase中的行由一个行键(rowkey)和一个或多个列组成
    ,列的值与rowkey和列关联
  • hbase中存在储存时按行键以字典顺序排列
  • 行键的排列非常重要
  1. 列(column)
    hbase中列由列簇(column famliy)和列名组成,构成列限定符

  2. 列簇(column family)

  • 处于性能的考虑,列簇将一组列及其值组织在一起
  • 每个列簇都有一组存储属性,比如是否储存在内存、数据是否被压缩及使用的编码等等
    -
  1. 列限定符
  • 列簇中包含一个个的列限定符
  • 不同的行可能会存储不同的列限定符
  1. 单元格
  • 单元格是行、列簇和列限定符的组合
  • 包含一个值和时间戳(表示该值的版本)
  • 单元格的内容以二进制存储即字节数组(byte[])
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/895823.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号