HBase安装配置及测试
一、HBase简介
(一)Hadoop
- 核心
HDFS分布式存储、MapReduce分布式计算、Yarn资源调度和管理 - 局限性
批量处理(MR)、顺序访问数据(HDFS)
查找数据是必须搜索整个数据集,效率很低
(二)HBase
- HBase是BigTable的开源java版本,建立在hdfs之上,分布式、列存储、支持实时读写、nosql(k-v)的数据库
- 结构:主键(rowKey)、timestamp(时间戳)、column family(列簇)和column(列)
- HBase仅能通过主键(rowkey)和主键的范围(range)检索数据
- 可以存储结构化和半结构化的数据
- HBase中所有的数据用字节数组byte[]来进行存储
- 可以横向扩展,可以不断的增加服务器来提高存储能力,从而实现海量存储
- 数据量很大,可以有十几亿行,几百万列
- 面向列存储
- 稀疏存储(稀疏矩阵:非零元素很少的矩阵,利用三元组(行,列,值)存储非零元素,0元素不存储)
(三)HBase的应用场景
- 对象存储(oss)
新闻、网页、图片、视频等,例如阿里云oss - 时序数据
每个数据都带有时间戳叫做时序数据,比如记录传感器的数据 - 推荐画像
用户画像的数据其实就是一个比较大的稀疏矩阵,比如蚂蚁金服的风控系统 - Olap
在线联机分析系统
注:oltp(在线事务分析系统,建立在关系数据库之上的,支持回滚) - Feeds流
典型的应用就是微信朋友圈类似的应用,发布新内容,对新内容进行点赞评论 - 爬虫数据的存储
(四)HBase的特点
强一致性读/写
CAP原则
自动分块
通过Region分布在集群上自动故障转移
Hadoop/HDFS集成
MapReduce
Java API
(五)HBase的发展过程
(六)RDBMS和HBase的比较
- RDBMS
- RDBMS(关系数据库管理系统,mysql、sqlserver、Oracle)
- 数据库以表的形式独立存在
- 支持FAT(dos)、NTFS(windows)、NXT(linux)
- 主键(primary key)
- 分库分表
- 行、列、单元格
- 支持向上扩展
- 使用sql(增删改查)
- 面向行
- acid特性
- 结构化的数据(二维表格)
- 支持事务(transaction)
- 支持join(连接,全连接、自然连接、左连接、右连接)
- 中心化
- HBase
- 以表的形式存在
- 支持HDFS
- 使用行键(rowkey)
- 分布式存储
- 支持向外扩展
- 使用api和mapreduce、spark、flink来访问HBase表数据
- 面向列
- 不支持acid,但是遵循cap原则
- 结构化和非结构化数据
- 不支持事务
- 不支持join
- 分布式
(七)HBase和HDFS的对比
- HDFS
- 分布式
- 存储系统,不是一个文件系统,无法快速的查询数据
- HBase
- 建立在hdfs上,为大型表提供快速查找和更新
- HBase在hdfs上建立了storefiles的索引,进行快速查询
(八)HBase和Hive的对比
- Hive
- 数据仓库工具:Hive的本质就是相当于将hdfs的文件在mysql中做了一个一一对应的映射关系,以方便HQL(类sql)进行数据的管理
- 用于数据分析、清洗等;适用于离线数据,延迟很高
- 基于HDFS和MapReduce:Hive数据存储在hdfs的DataNode上,HQL转换为MapReduce程序执行
- HBase
- NoSql:面向列的非关系型数据库
- 用于存储结构化和非结构化数据
- 基于hdfs:HBase的存储文件Hfile存放在DataNode上,被RegionServer以region(分区)的形式进行管理
- 延迟较低,适合于olap(实时的在线业务,如天猫双十一实时成交额大屏展示)
- 总结
- Hive和HBase是两种基于Hadoop的不同技术
- Hive是一种类sql的引擎,并运用mapreduce执行任务
- Hbase是一种nosql的key/value数据库,可以使用spark或flink高速执行任务
- 两者可以同时使用,用hive进行统计查询,hbase进行实时查询,数据可以在两者之间进行转换
(九)NoSql非关系型数据库
- Sql数据库:增(insert into)删(delete from)改(update set)查(select)mysql、Oracle、sqlserver
- NoSql:not only sql(不仅仅是sql),key/value格式的数据库,redis(高速缓存比如秒杀抢购)、memcache、mongodb、hbase
二、HBase集群搭建
(一)HBase下载并安装
- 官网下载
百度搜索hbase
点击download,选择自己需要的版本,本次安装选择版本2.4.10
- 上传到服务器
- 解压
tar -xzvf hbase-2.4.10-bin.tar.gz -C ../servers/
- 配置环境变量
- 使环境变量起作用
source /etc/profile
- 测试
说明配置成功 - 修改配置文件
- hbase-env.sh
修改jdk的路径
修改不适用hbase自己的zookeeper,使用外部的zookeeper
- hbase-site.xml
- regionservers
- 分发文件
- 分发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
(二)启动
- 启动hadoop
- 启动zookeeper
- 启动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)结构
(二)术语
- 表(table)
- hbase中数据都是以表的形式来组织的
- hbase中的表由多行(几十亿)组成
- 行(rowkey)
- hbase中的行由一个行键(rowkey)和一个或多个列组成
,列的值与rowkey和列关联 - hbase中存在储存时按行键以字典顺序排列
- 行键的排列非常重要
列(column)
hbase中列由列簇(column famliy)和列名组成,构成列限定符
列簇(column family)
- 处于性能的考虑,列簇将一组列及其值组织在一起
- 每个列簇都有一组存储属性,比如是否储存在内存、数据是否被压缩及使用的编码等等
-
- 列限定符
- 列簇中包含一个个的列限定符
- 不同的行可能会存储不同的列限定符
- 单元格
- 单元格是行、列簇和列限定符的组合
- 包含一个值和时间戳(表示该值的版本)
- 单元格的内容以二进制存储即字节数组(byte[])
HBase安装配置及测试相关推荐
- hbase安装配置(整合到hadoop)
如果想详细了解hbase的安装:http://abloz.com/hbase/book.html 和官网http://hbase.apache.org/ 1. 快速单击安装 在单机安装Hbase的方 ...
- hbase安装配置 整合到hadoop
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 如果想详 ...
- Linux环境HBase安装配置及使用
Linux环境HBase安装配置及使用 1. 认识HBase (1) HBase介绍 HBase = Hadoop database,Hadoop数据库 开源数据库 官网:hbase.apache.o ...
- 【Ubuntu-Opencv】Ubuntu14.04 Opencv3.3.0 安装配置及测试
Ubuntu14.04 Opencv3.3.0 安装配置及测试 网上有许多的Opencv的安装方法,不过找到一个适合自己的安装路数才最为重要,笔者整理了一下自己的安装配置测试过程,仅供学习参考. ## ...
- HBase安装配置以及Java操作hbase
2019独角兽企业重金招聘Python工程师标准>>> Apache HBase Apache HBase™是Hadoop数据库,是一个分布式,可扩展的大数据存储. 当您需要对大数据 ...
- NodeJS、NPM安装配置与测试步骤(windows版本)
1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://nodejs.org/),便可以看到首页的"INS ...
- django安装配置及测试
django安装之前我们假设你已经安装了python,和mysql(不是必须的):(如果没有google一下挺简单不介绍了) 下面直接介绍django的安装配置: 到下面连接可以下载www.djang ...
- 大数据技术之 HBase安装配置
大数据技术之 HBase安装 1.hbase依赖于hadoop以及zookeeper,所以 1.1 首先myhadoop.sh start 1.2 然后zk.sh start 接下来安装hbase 1 ...
- hadoop组件之hbase安装配置
准备工作 1.软件包 2.导入到虚拟机的opt目录下,并解压和改文件夹名字 tar -zxvf hbase-1.2.0-cdh5.14.2.tar.gz mv hbase-1.2.0-cdh5.14. ...
- Spark 安装配置简单测试
简介 Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce ...
最新文章
- 看菲菲详解如何快速获取linux命令帮助
- Scrapy shell调试网页的信息
- Hadoop 单机版和伪分布式版安装
- TACACS 协议简介与开发总结
- AndroidLinker与SO加壳技术之上篇
- Mysql HA实现MYSQL的高可用(上)
- 十二、ubuntu20.10(Linux)下Pycharm配置pyqt5开发环境
- 【CCS2018】SDN跨应用中毒攻击
- 云图说|ModelArts Pro:让AI开发更简单
- 服务器x不会下载mysql_MySQL_解决MySQL数据库死掉以及拒绝服务的方法,从Mysql 5.x的某个版本之后,MySQ - phpStudy...
- ASP.Net中调用CSS
- php 基础 自动类型转换
- 如何完全卸载MySQL
- 11 个超火的前端必备在线工具,终于有时间上班摸鱼了
- Eclipse设置护眼浅绿色背景
- 热血传奇之周星弛[转载]【出处:未知】
- windows输入法只有中文导致无法使用一系列快捷键问题
- BPF之巅--洞悉Linux系统和应用性能 Brendan Gregg
- 三级分销软件开发技术分销系统模式
- 全球及中国大豆蛋白行业市场需求趋势及未来战略规划建议报告2022-2028年