HBase是什么?
HBase是Apache Hadoop中的一个子项目,Hbase依托于Hadoop的HDFS作为最基本存储基础单元,通过使用hadoop的DFS工具就可以看到这些这些数据 存储文件夹的结构,还可以通过Map/Reduce的框架(算法)对HBase进行操作,如右侧的图所示:
HBase在产品中还包含了Jetty,在HBase启动时采用嵌入式的方式来启动Jetty,因此可以通过web界面对HBase进行管理和查看当前运行的一些状态,非常轻巧。
为什么采用HBase?
HBase 不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.所谓非结构化数据存储就是说HBase是基于列的而不是基于行的模式,这样方面读写你的大数据内容。
HBase是介于Map Entry(key & value)和DB Row之间的一种数据存储方式。就点有点类似于现在流行的Memcache,但不仅仅是简单的一个key对应一个 value,你很可能需要存储多个属性的数据结构,但没有传统数据库表中那么多的关联关系,这就是所谓的松散数据。
简单来说,你在HBase中的表创建的可以看做是一张很大的表,而这个表的属性可以根据需求去动态增加,在HBase中没有表与表之间关联查询。你 只需要 告诉你的数据存储到Hbase的那个column families 就可以了,不需要指定它的具体类型:char,varchar,int,tinyint,text等等。但是你需要注意HBase中不包含事务此类的功 能。
Apache HBase 和Google Bigtable 有非常相似的地方,一个数据行拥有一个可选择的键和任意数量的列。表是疏松的存储的,因此用户可以给行定义各种不同的列,对于这样的功能在大项目中非常实用,可以简化设计和升级的成本。
如何运行HBase?
从 Apache的HBase的镜像网站上下载一个稳定版本的HBase http://mirrors.devlib.org/apache/hbase/stable/hbase-0.20.6.tar.gz, 下载完成后,对其进行解压缩。确定你的机器中已经正确的安装了Java SDK、SSH,否则将无法正常运行。
$ cd /work/hbase
进入此目录
$ vim conf/hbase-env.sh
export JAVA_HOME=/JDK_PATH
编辑 conf/hbase-env.sh 文件,将JAVA_HOME修改为你的JDK安装目录
$ vim conf/regionservers
输入你的所有HBase服务器名,localhost,或者是ip地址
$ bin/start-hbase.sh
启动hbase, 中间需要你输入两次密码,也可以进行设置不需要输入密码,启动成功,如图所示:
$ bin/hbase rest start
启动hbase REST服务后就可以通过对uri: http://localhost:60050/api/ 的通用REST操作(GET/POST/PUT/DELETE)实现对hbase的REST形式数据操作.
也可以输入以下指令进入HQL指令模式
$ bin/hbase shell
$ bin/stop-hbase.sh
关闭HBase服务
启动时存在的问题
由于linux系统的主机名配置不正确,在运行HBase服务器中可能存在的问题,如图所示:
2010-11-05 11:10:20,189 ERROR org.apache.hadoop.hbase.master.HMaster: Can not start master
java.net.UnknownHostException: ubuntu-server216: ubuntu-server216
表示你的主机名不正确,你可以先查看一下 /etc/hosts/中名称是什么,再用 hostname 命令进行修改, hostname you_server_name
查看运行状态
1、如果你需要对HBase的日志进行监控你可以查看 hbase.x.x./logs/下的日志文件,可以使用tail -f 来查看。
2、通过 web方式查看运行在 HBase 下的zookeeper http://localhost:60010/zk.jsp
3、如果你需要查看当前的运行状态可以通过web的方式对HBase服务器进行查看,如图所示:
扩展阅读1:
Apach 的 Hadoop的项目中包含了那些产品,如图所示:
Pig 是在MapReduce上构建的查询语言(SQL-like),适用于大量并行计算。
Chukwa 是基于Hadoop集群中监控系统,简单来说就是一个“看门狗” (WatchDog)
Hive 是DataWareHouse 和 Map Reduce交集,适用于ETL方面的工作。
HBase 是一个面向列的分布式数据库。
Map Reduce 是Google提出的一种算法,用于超大型数据集的并行运算。
HDFS 可以支持千万级的大型分布式文件系统。
Zookeeper 提供的功能包括:配置维护、名字服务、分布式同步、组服务等,用于分布式系统的可靠协调系统。
Avro 是一个数据序列化系统,设计用于支持大批量数据交换的应用。
扩展阅读2:
什么是列存储?列存储不同于传统的关系型数据库,其数据在表中是按行存储的,列方式所带来的重要好处之一就是,由于查询中的选择规则是通过列来定义的,因 此整个数据库是自动索引化的。按列存储每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能大大减少读取的数据量,一个字段的数据聚集存储,那就 更容易为这种聚集存储设计更好的压缩/解压算法。这张图讲述了传统的行存储和列存储的区别:
分享到:
相关推荐
【HBase介绍】 HBase是一种NoSQL数据库,它基于Apache Hadoop构建,设计为高度分布式、多版本的列式存储系统。HBase旨在处理大型数据集,提供对这些数据的实时读写访问,尤其适用于大数据量存储和具有特定查询模式...
### HBase介绍、安装与应用案例 #### 一、环境搭建与配置 在开始了解HBase之前,我们首先需要确保已经正确地搭建了Hadoop环境。文档中提到使用CentOS作为操作系统来部署Hadoop和HBase环境。为了保证系统的稳定性和...
HBase 是一个分布式的、基于列族的NoSQL数据库,它是Apache软件基金会的顶级项目,设计用于处理海量数据。HBase构建在Hadoop之上,旨在为非结构化或半结构化数据提供高吞吐量的随机读写能力,特别适合大规模大数据...
腾讯云-云数据库对Hbase的独家介绍,介绍腾讯云HBase的使用。 腾讯云-云数据库对Hbase的独家介绍,介绍腾讯云HBase的使用。 腾讯云-云数据库对Hbase的独家介绍,介绍腾讯云HBase的使用。
腾讯云数据库HBase是一种基于开源Apache HBase构建的高性能、可伸缩的分布式列存储数据库服务,它为用户提供了面向列的存储结构、海量数据存储以及分布式计算的解决方案。腾讯云数据库HBase在兼容HBase协议的基础上...
本ppt是精心制作的,所涉及的面广,但不够深入,适合对初学者和非技术人员使用,颜色亮丽色彩鲜艳,物超所值
HBase是一种分布式、高性能、基于列族的NoSQL数据库,它是Apache Hadoop生态系统的一部分,用于存储大规模结构化数据。HBase的设计目标是处理PB级别的数据,提供实时读写能力,并支持海量数据的快速检索。 ## HBase...
HBase是一个开源的分布式、多版本、面向列的数据库,由Apache软件基金会支持,是Hadoop数据库的延伸。HBase利用了Hadoop的HDFS作为其文件存储系统,使用MapReduce来处理HBase中的大数据,同时通过Zookeeper进行协调...
【HBase基础知识】 HBase(Hadoop Database)是一款基于Hadoop的开源分布式数据库,它具有高可用性、高性能和列式存储的特点,适用于处理大规模结构化数据。HBase利用Hadoop的HDFS作为其文件存储系统,依赖...
【HBase概述】 HBase是一种基于Google BigTable模型的开源分布式列存储系统,它是Apache Hadoop生态系统的重要组成部分,专门用于海量结构化数据的存储。HBase利用了HDFS(Hadoop Distributed File System)作为...
### HBase介绍与内部原理详解 #### 一、HBase简介 HBase是Apache Hadoop生态系统中的一个重要的组件,它提供了一个分布式、可扩展的列式存储系统。HBase主要面向那些需要处理海量数据的应用场景,并且对于这些数据...
1. **HBase介绍** - HBase是一种分布式、可伸缩、支持海量数据存储的非关系型数据库。 - 它基于Hadoop文件系统(HDFS)构建,并利用MapReduce来处理HBase中的大规模数据集。 2. **下载与配置HBase** - **下载**...
【HBase介绍】 HBase,全称为Apache HBase,是一个基于Google BigTable论文设计的开源分布式数据库系统。自2006年由Chad Walters和Jim开始研发以来,HBase经历了从最初的Hadoop贡献项目到2008年成为Apache顶级项目...
#### 二、HBase介绍 ##### HBase简介 HBase是一个高可靠、高性能的分布式存储系统,它是Google BigTable的开源实现。HBase基于Hadoop分布式文件系统(HDFS)构建,能够处理非常大的表(数十亿行数百万列)。HBase...
hbase简介,主要从hdfs开始介绍hbase,讲的比较细致生动
Hadoop hbase等介绍 数据长期的积累,文件总量非常庞大,存储这些数据需要投入巨大的硬件资源,但是如果能在已有空闲磁盘集群下可以利用起来,可以不再需要大规模采集服务器存储数据或购买容量庞大的磁盘,减少了...
云HBase介绍 云HBase是一种存储计算分离、完全弹性的服务,支持多种工作负载,并且提供了免运维的特点。其主要特点包括: - **存储计算分离**:能够独立扩展计算资源和存储资源。 - **完全弹性**:根据需求动态...
HBase_官方文档-中文翻译-leonarding.pdf