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:
什么是列存储?列存储不同于传统的关系型数据库,其数据在表中是按行存储的,列方式所带来的重要好处之一就是,由于查询中的选择规则是通过列来定义的,因 此整个数据库是自动索引化的。按列存储每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能大大减少读取的数据量,一个字段的数据聚集存储,那就 更容易为这种聚集存储设计更好的压缩/解压算法。这张图讲述了传统的行存储和列存储的区别:

扩展阅读3:
对系统海量的Log4J日志可以存放在一个集中式的机器上,在此机器上安装 splunk 可以方便对所有日志查看,安装方法可以参考:
http://www.splunk.com/base/Documentation/latest/Installation/InstallonLinux
分享到:
相关推荐
《HBase专题配套文件解析》 HBase,全称Apache HBase,是构建在Hadoop分布式文件系统(HDFS)之上、面向列的开源数据库,主要用于处理大规模数据。HBase的设计理念是支持实时读写,适合大数据场景下的快速随机访问...
【标题】:“HBase专题测试文件” 【描述】:这篇内容是与HBase相关的测试资料,配合某博主的博客文章进行深入学习。博客链接指向了CSDN平台的一篇文章,详细介绍了HBase的相关知识和实战操作,这可能是对HBase进行...
本文档概述了广西大数据应用专题开发技术方案的第三个标包,主要介绍了大数据设计架构、分布式模块设计、插件化程序开发、多样化数据采集系统、Docker 容器部署、ArcGIS 二次开发等技术方案。 titre:广西大数据...
本文档是关于智慧城市大数据应用专题开发技术方案的详细技术方案,主要介绍了智慧城市大数据应用的架构设计、技术选型、系统部署、数据处理方式等方面的技术细节。 该方案的主要技术架构基于 Hadoop+Hive+Spark,...
1. 分布式计算基础 分布式计算是指多个计算节点通过网络进行通信,共同完成一个任务。它涉及负载均衡、数据分布、通信协议、容错机制等多个方面。理解这些基础知识对于后续深入学习分布式框架至关重要。 2. 数据...
除此之外,数据库知识也是重点,包括关系型数据库MySQL的事务处理、索引优化、查询优化,以及NoSQL数据库如MongoDB和HBase的使用场景和优缺点。数据结构与算法虽然不是Java特定的,但它们是衡量开发者解决问题能力的...
由于应急测绘需要处理大量的地理空间数据,分布式数据库能够帮助实现快速查询和统计周边地物、人口、法人等专题数据,满足不同尺度和不同用户需求的测绘应急专题数据资源服务。 传统的数据库系统在处理大量数据时...
"大数据应用专题开发技术方案" 大数据设计架构 在广东移动大数据关联分析服务项目中,采用了 HADOOP+MPP+RDB+流计算混搭技术架构,满足不同类型数据处理及访问需求。系统架构体系通过使用信令 XDR 数据、MR 数据、...
- HBase的元数据管理:HBase的RegionServer定位依赖Zookeeper。 - Kafka的集群管理:Kafka的Broker选举和消费者分区分配依赖Zookeeper。 - Dubbo的服务注册与发现:Dubbo通过Zookeeper实现服务的注册、查找和监控...
**Zookeeper面试专题及答案** 在Java开发领域,Apache ZooKeeper是一个至关重要的分布式协调服务,它为分布式应用程序提供了高可用性、一致性以及命名服务等关键功能。本篇内容将深入探讨Zookeeper的核心概念、功能...
【Hadoop与大数据技术大会2012PPT】是一个关于Hadoop和大数据技术的专题会议,该会议可能聚集了业界专家和学者,分享了他们在2012年关于这两个领域的最新研究、实践经验和未来发展趋势。这个压缩包包含了多个PDF文件...
【Java与MongoDB面试专题】 在Java开发中,MongoDB是一种广泛应用的NoSQL数据库,尤其在处理非结构化和半结构化数据时表现出色。在面试中,掌握关于MongoDB的基本概念、特性和与传统RDBMS的区别是至关重要的。 1. ...
Java前后开发面试题,大厂进阶之路,基于JavaGuide、Cyc大佬、牛客...包含计算机网络知识、JavaSE、JVM、Spring、Springboot、SpringCloud、Mybatis、多线程并发、netty、MySQL、MongoDB、Elasticsearch、Redis、HBASE
MongoDB面试专题及答案.pdf 本文档总结了 MongoDB 相关的知识点,涵盖了 NoSQL 数据库的定义、类型、特点、优点、应用场景、与 RDBMS 的差别、MongoDB 的特点、优势、限制等。 NoSQL 数据库 NoSQL 数据库是一种非...
HBase 知识体系最强总结 Hadoop知识体系最强宝典 Hadoop企业级调优手册 Flink知识体系保姆级总结 Flink面试八股文 最强最全面数仓建设规范指南(强烈推荐) 最强最全面的大数据SQL面试题和答案 数据结构与算法篇 数据...
《Zookeeper面试专题》 Apache ZooKeeper 是一个分布式协调服务,它为分布式应用程序提供一致性服务。在面试中,Zookeeper 是一个经常被提及的话题,因为它在大数据、云计算和分布式系统中的核心作用。以下是对...
### MongoDB面试专题知识点详解 #### 1. NoSQL数据库的概念及其与RDBMS的区别 - **NoSQL**:Non-relational databases(非关系型数据库),通常指那些**不使用传统的关系表格来组织数据**的数据库系统。NoSQL的...
1. **Zookeeper 的基本概念** - ZooKeeper 是一个分布式应用程序协调服务,它可以监控集群中节点的状态,并根据反馈执行相应的操作。 - 它具有一个层次化的命名空间,类似于文件系统,但允许节点存储数据并具有四...