Hadoop集群中利用HBase更加高效地进行查询和优化海量数据

本文将帮助读者在大数据云计算 Hadoop 集群应用中利用 HBase 更加高效、直观、便捷地进行存储,查询和优化海量数据。

2006 年 11 月,Google 发表了一篇名为《 BigTable 》论文 , 2007 年 2 月,Hadoop 的开发人员对其进行实现并命名为 HBase。 HBase 是基于 Hadoop 之上的一种新型的基于列存储的开源数据存储架构,用于解决大数据问题,是 Hadoop 的分布式数据库。

HBase 现在已经比较成熟,最新的稳定版本是 0.94.x。HBase 已经被很多大公司采用,如 Facebook, Twitter,Adobe, Cloudera, IBM, 等等。HBase 不是传统 RDBMS 意义上的基于列的数据库,而是利用磁盘进行列存储格式的数据库,其优势在于提供基于关键字的特定列和顺序范围的快速访问。

HBase 有三个重要的组件:客户端库,一个 master server(可以配置多个备用 master,后文将对此进行详细描述)以及多个 Region Server。Master 负责分配 Region 到各个不同的 Region Server 上,Region Server 负责存储实际的数据。同时,HBase 通过使用 ZooKeeper,一种可靠,高可用,一致性的分布式协同服务来帮助其完成相应的任务。HBase 集群管理员可以通过在系统运行过程中添加和删除 Region Server 节点来调节改变工作负载。HBase 以 HFile 作为存储数据的基本格式,其底层的文件系统默认采用 HDFS。

图 1. HBases 基本架构

图 1. 显示了不同的组件如 HDFS,Zookeeper 是怎样与 HBase 一起协调工作的。Master Server 负责处理跨 Region Server 的 regions 数据的导入平衡,卸载繁忙的 Region Server 负担,将 region 转移到更空余的 Region Server 上。

HBase Master 不负责实际的数据存储,它协调导入平衡,维护集群的状态,维护 schema 的更改和 metadata 元数据操作,如创建表和列族(column families),但从不提供任何数据服务。

Region servers 负责加载和维护 region,包括处理对其管理的 region 的所有读写请求,以及 region 大小增长到超过配置阀值的时候对其进行切分。

客户端通过与 Zookeeper 通信获取到其需要进行读写操作的 region 所在的 Region Server 之后,将直接与 Region Server 通信,并由 Region Server 处理所有相关的请求。

IBM BigInsights 架构中的 HBase

IBM Big Data(大数据)产品 InfoSphere BigInsights 是大数据管理与分析平台, 其底层架构也采用了 Hadoop 和 HBase 对结构化和非结构化数据进行存储和查询。

BigInsightsz 集群软件层次中的 HBase

BigInsights 整合了很多已有的 Hadoop 开源组件,如 HDFS, MapReduce, HBase, Zookeeper 等,将它们很好的融入 BigInsights 软件体系,并与其他 BigInsights 的组件一起协同工作在同一个平台上。 HBase 被用作 BigInsights 的存储数据库,Zookeeper 被用作 BigInsights 的服务协同组件。如果要使用 HBase, 我们需要同时安装 Hadoop, Zookeeper, 因为 HBase 采用 Hadoop 作为其文件系统,采用 Zookeeper 作为其服务协同支持。

当把 BigInsights 部署到一个集群上时,软件层次的结构如图 2. 所示:

图 2. BigInsights 中 Hadoop 开源组件列表

时间: 2024-07-30 05:20:56

Hadoop集群中利用HBase更加高效地进行查询和优化海量数据的相关文章

搭建hadoop集群中遇到的各种问题,整理如下:

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;     和同伴一起搭建hadoop集群中遇到的各种问题,整理如下: 前言 在寒假前的一段时间,开始调研Hadoop2.2.0搭建过程,当时苦于没有机器,只是在3台笔记本上,简单跑通一些数据.一转眼一两个月过去了,有些东 西对已经忘了.现在实验室申请下来了,分了10台机器(4G+500G),这足够我们玩的了.开始搭建Hadoop2.2.0分布式集群,也趁着这个机会 把

如何删除恢复Hadoop集群中的DataNode

有时候因为做临时调整可能需要删除hadoop集群中的DataNode,具体方法如下: 首先在/etc/hadoop/conf/dfs.exclude 中添加要删除节点的机器名 在控制台页面中看见显示了一个Dead  Datanodes 使用命令刷新节点信息: [hdfs@hmc ~]$ hadoop dfsadmin -refreshNodes 查看hdfs的使用报告:[hdfs@hmc ~]$ hadoop dfsadmin -report  红色字体状态表示节点退出 Name: 192.16

《Hadoop集群与安全》一2.1 在Hadoop集群中配置操作系统

2.1 在Hadoop集群中配置操作系统 正如之前所提到的,Hadoop能够运行在几乎所有Linux版本的系统上.本章随后的讲解会将重点放在CentOS 6.x上,CentOS和Red Hat是Hadoop相关产品安装最为普及的平台.要掌握这些步骤并不难,对于Debian系统所有与配置Hadoop组件的步骤都是一致的,因此读者可以根据自身需求替换对应的包管理器. 2.1.1 选择和设置文件系统 现代Linux系统支持多种不同的文件系统:如EXT3.EXT4.XFS.BTRFS,等等.针对特定的工

Hadoop集群中hosts文件配置问题

最近一直在做hadoop的应用,但是无奈于并行加速比一直不理想,两台机器运行的时间和一台机器运行的时间差不多,老师还一直要这个数据,并行计算比至少应该为1.5,这样的并行程序才有意义. 加了个qq群,发现了问题所在,再说我解决方法之前,先说一下我hadoop集群的配置: 2台笔记本,其中1台为lenovo z460,CPU为Core i3,主机名为:liujiacai-Ideapad-Z460:另一台是Acer  Aspire 4743 CPU为奔腾P6200,主机名为:liujiacai-As

文档式数据库在Hadoop集群中的应用

2013年11月22-23日,作为国内唯一专注于Hadoop技术与应用分享的大规模行业盛会,2013 Hadoop中国技术峰会(China Hadoop Summit 2013)于北京福朋喜来登集团酒店隆重举行.来自国内外各行业领域的近千名CIO.CTO.架构师.IT经理.咨询顾问.工程师.Hadoop技术爱好者,以及从事Hadoop研究与推广的IT厂商和技术专家将共襄盛举. 在SQL&NoSQL专场,来自巨彬软件的CTO王涛做了<文档式数据库在Hadoop集群中的应用>演讲,从大数据

Hadoop集群中基于能量有效的作业提交

Energy Efficient and Reliable Job Submission in Hadoop Clusters Sudha Sadasivam  S Sangeetha  Radhakrishnan This paper addresses the problem of block allocation in distributed file system to improve reliability and energy efficiency. temp_12090110392

HBase集群中RegionServer崩溃快速恢复探索

摘 要:本文 主要介绍了HBaseRegionServer与Zookeeper间的交互过程,阐述RegionServer崩溃后的恢复机制,并在此基础上提出了几点优化的恢复措施.优化后的恢复措施大大缩短了RegionServer崩溃后的故障恢复时间和业务中断时间,从而提高了HBase集群的稳定性和可靠性. 0 引言 随着互联网和通信行业的迅猛发展,积聚的各种数据呈急剧增长态势.这些海量数据既蕴含着丰富的信息和资源,又面临着信息有效管理和提取的难题.云计算是分布式处理.并行处理和网格计算的发展,可以

《Hadoop集群与安全》一2.2 设置NameNode

2.2 设置NameNode 在本节中,我们将一步一步对NameNode服务进行安装以及基本配置,其中包括高可用方案的构建.网络上许多指导和教程将NameNode高可用方案作为一项高级内容,而我们在最初就将重点放在NameNode高可用方案的设置上.原因是在Hadoop构建中NameNode扮演着重要的角色.从根本上说,NameNode是Hadoop集群中的一块短板.如果没有该项服务,用户就无法访问Hadoop分布式文件系统(HDFS). 我们有多种方法对NameNode高可用方案进行设置.在C

《Hadoop集群与安全》一1.1 选择Hadoop集群硬件

1.1 选择Hadoop集群硬件 Hadoop是可扩展的集群,它采用非共享系统处理大规模并行数据.Hadoop的总体概念是单个节点对于整个集群的稳定性和性能来说并不重要.根据这种设计理念,我们可以在单个节点上选择能够高效处理少量(相对于整体的数据量大小)数据的硬件并且在硬件层面也无需过分追求稳定性和冗余性.读者可能已经知道,Hadoop集群由多种类型的服务器所组成.它们中有主节点,比如NameNode.备份NameNode以及JobTracker,还有称为DataNode的工作节点.除了核心的H