Learning HBase中文版
  • 推荐0
  • 收藏1
  • 浏览532

Learning HBase中文版

Shashwat Shriparv(沙什沃特 谢帕夫) (作者)  周彦伟 (译者)

  • 书  号:978-7-121-27072-7
  • 出版日期:2015-09-21
  • 页  数:272
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 原书名: Learning HBase
  • 原书号:9781783985944
  • 维护人:张春雨
本书是一本介绍HBase知识的专业书籍,它系统地介绍了HBase的基本概念,与传统关系数据库的功能和特点的对比,自身的配置方法以及安装方法,同时深入介绍了HBase的运维管理和故障处理。本书还介绍了基于HBase的Java编程方法,以及HBase作为大数据工具的一些使用案例,这些足以帮助读者更好地理解HBase的架构,更顺利地在自己的项目中使用HBase。
非常便于快速入门,实战与原理并重
覆盖管理与开发,同时适合运维与程序员
真实场景,真实案例,与一线实践无缝衔接
“去哪儿网”HBase团队Leader携资深工程师倾力献译
译者序

随着大数据应用技术的不断发展以及Hadoop生态系统的日益完善,Hadoop已渐渐成为处理大数据需求的首选工具。与此同时,搭建在Hadoop之上的HBase,也因其优越的系统架构特点,特别是开源、分布式、水平扩展性等便利条件,越来越受到人们的青睐。“去哪儿”网站数据库团队是把HBase作为NoSQL数据库使用的,它为我们提供了大规模的Key-Value分布式存储,以弥补我们现在所用的MySQL、Redis等在线存储的不足。然而,我们在此之前并没有HBase的相关经验,为了能快速掌握这门技术,以满足我们的业务需求,我们努力学习HBase的相关知识,也翻阅了很多这方面的著作。值得庆幸的是,我们有幸看到了Learning HBase这本书的英文书稿,在努力啃完了全书之后,我们一致认为,对HBase初学者来说,这是一本值得推荐的优秀著作,本书的作者Shashwat Shriparv先生,有多年的基于Hadoop和Hbase的开发和使用经验,他在大数据领域积累了丰富的经验。这本书的组织也是深入浅出,先从宏观上描述了HBase是什么,跟我们熟知的关系数据库以及Hadoop做了一些对比,接着介绍了HBase的核心组件,然后深入到Hbase的运维管理、故障处理,最后讲述了基于HBase的Java编程,并介绍了HBase的一些使用案例,非常适合初学者学习。
比较遗憾的是,这本书目前没有中文稿,我们起初虽然有翻译的想法,但总觉得功力尚欠,恐贻笑大方,恰在这时候我们受到电子工业出版社的朋友的鼓励,遂下决心把它翻译成中文,以方便更多的国内读者学习使用。本书涉及的专业术语和概念较多,又加之我们水平有限,同时也是第一次正式翻译英文著作,在译文中必定会出现不妥之处,恳请读者批评
指正。
周彦伟
2015.6

关于作者
Shashwat Shriparv生于印度比哈尔邦穆扎法尔布尔县。他先后在穆扎法尔布尔和梅加拉亚
邦西隆求学。他在德里英迪拉·甘地国立开放大学获得计算机应用学士(BCA)学位,在喀
拉拉邦科钦科技大学(特里凡得琅 C-DAC)获得计算机应用硕士(MCA)学位。他在 2010年早些时候开始研究大数据技术,当时他需要做一个用大数据技术存储和处理日志的概念验证(POC)。同时他还有另一个项目,在此项目中需要存储巨大的不同文件头的二进制文件并要处理它们。这个时候,他开始配置、搭建并测试 Hadoop HBase集群,并为它们写了一些代码。在做了一个成功的POC之后,他用 Java REST和 SOAP Web服务做了些开发,并搭立了一个系统,在此系统中通过 Web服务利用 Hadoop存储和处理日志,然后在HBase中通过自定义表存储这些日志,通过 HBase API和 HBase-Hive映射查询来读取数据。Shashwat成功地实现了这个项目,紧接着开始了 1TB到 3TB的大规模二进制文件头的处理工作,他把文件的元数据存储在 HBase中,文件本身存在 HDFS上。
Shashwat在特里凡得琅 C-DAC网络取证中心开始他的软件开发生涯,为取证分析开发可移动相关软件。接着,他去了 Genilok Computer Solutions公司,在那里,他的工作包括:集群计算、HPC技术和 Web技术。
在此之后,他从特里凡得琅到了班加罗尔并加入了 PointCross,在那里他开始了大数据技术工作,用 Java开发软件、Web服务和大数据平台。在 PointCross,他的很多项目都是围绕着大数据技术,例如 Hadoop、HBase、Hive、Pig、 Sqoop、 Flume等。从这里他又到了 HCL Infosystems公司,开始做 UIDAI项目,这是一个在印度非常有声望的项目,它为每一个印度居民提供一个唯一身份识别号。在这里,他工作中使用的技术有:HBase、Hive、 Hadoop、 Pig、 Linux、脚本语言、管理 HBase Hadoop集群、编写脚本、自动化任务和处理、为集群监控创建仪表盘。
现在,Shashwat在 Cognilytics公司工作,专注于大数据技术、 HANA以及其他高性能技
术。
你可以通过 https://github.com/shriparv和 http://helpmetocode.blogspot. com了解更多关于他的信息。可以通过 LinkedIn,http://www.linkedin.com/pub/ shashwat-shriparv/19/214/2a9跟他联系,也可以发信给他 dwivedishashwat@gmail. com。
Shashwat曾经审校过 Pig Design Pattern, Pradeep Pasupuleti, Packt Publishing一书,他还曾担任过他大学杂志 In.nityTech的编辑。

致谢
首先,我要感谢来自 Packt Publishing的几个人:Kevin,他鼓励我写这本书;Prachi,在写作过程中一直给予我协助和指导;Pankaj,他帮我完成技术编辑;以及其他所有的对此书有贡献的人。
我要感谢所有的 Hadoop、HBase和大数据技术的开发者、贡献者和论坛,他们给了工业界这么让人惊叹的技术并持续为之贡献力量。特别的,感谢 Lars和 Noll在 HBase和 Hadoop上的贡献。
我要感谢那些帮助我学习的人,包括我大学的老师——Roshani夫人(校长)、Namboothari先生、Santosh先生、Manjush夫人、Hudlin Leo夫人、Jitesh先生、Nilanchal先生、Vaidhath先生、 Jwala先生、 Ashutosh先生、 Anzar先生、 Kishor先生及我在 Batch 6的所有的朋友们。我要把这本书献给我的朋友,Nikhil,他现在已经不在人世了。特别的,我要感谢 Ratnakar Mishra和 Chandan Jha,他们一直陪伴着我并给于我极大的信任。也衷心感谢 Vineet、 Shashi、 Shailesh、 Rajeev、 Pintu、 Darshna、 Priya、 Amit、 Manzar、 Sunil、 Ashok、 Pradeep、 Arshad、 Sujith、 Vinay、 Rachana、 Ashwathi、 Rinku、 Pheona、 Lizbeth、 Arun、 Kalesh、 Chitra、 Fatima、 Rajesh、 Jasmin以及特里凡得琅 C-DAC学院的我的所有朋友们,感谢学院里的所有学弟学长和朋友们。感谢我在 C-DAC网络取证部门的同事:Sateesh先生,我的项目经理;Anwer Reyaz. J,一个充满激情的热心人;Bibin先生、 Ramani先生、Potty先生、Bhadran先生、Thomas先生、Satish先生、Nabeel先生、Balan先生、Abhin先生等。
我还要感谢 Mani先生、 Raja先生,我的朋友和同事:Maruthi Kiran、 Chethan、 Alok、 Tariq、Sujatha、Bhagya和 Mukesh;Sri Gopal先生,我的领导,以及其他 PointCross的同事。感谢 Ramesh Krishnan先生、 Manoj先生、 Vinod先生、Nand Kishor先生和我的同事 Varun先生、Preeti Gupta先生、Kuldeep先生以及所有在 HCL Infosystems Ltd.和 UIDAI的
同事。
我还要感谢 Satish先生、 Sudipta先生、我的领导 Atul先生、 Pradeep、 Nikhil、 Mohit、 Brijesh、Kranth、Ashish Chopara、Sudhir以及所有在 Cognilytics, Inc的同事。
最后但是同样重要的,我要感谢我的爸爸 Dr. Rameshwar Dwivedi、我的妈妈 Smt. Rewa Dwivedi、我的兄长 Vishwas Priambud、嫂子 Ragini Dwivedi、妹妹 Bhumika、堂兄 Chandra-mauli Dwivedi,还有我家里的新成员 Vasu and Atmana。
如果还遗漏了什么名字,这不代表我我没有感谢他们,他们都在我的心中,我感谢所有来到我的生命中并留下印记的每一个人。并且,致谢不分次序。

关于审校者
Ashutosh Bijoor(Ash)是 Accion Labs India Private Limited的 CTO。他在工业技术领域有
超过 20年的经验,客户从初创企业到跨国公司覆盖了非常广的工业范围,包括高科技、工程、软件、保险、银行、化工、制药、健康护理、媒体和娱乐。他在整体产品开发生命周期中对于管理和领导跨功能团队有丰富的经验。
Ashutosh擅长于新兴技术、软件架构、架构设计以及敏捷过程定义。他在一些领域诸如大数据、商业智能、图形和图像处理、声音和视频处理以及高级文本搜索和分析上实现了企业解决方案和商业产品。
他的 email是:ashutosh.bijoor@accionlabs.com,也可以访问他的个人网站:http:/ /bijoor.me。
Chhavi Gangwal目前是 Impetus Infotech (India) Pvt. Ltd的一名技术领导。她在不同规模的
社交媒体和网站有超过 7年的 IT企业工作经验,直接见证了大数据的兴起。现在,Chhavi在领导 Kundera的开发,这是一个 JPA 2.0兼容的 NoSQL数据存储的对象映射框架。她还积极参与大量大数据工具项目的管理和开发工作。除了一些 NoSQL数据存储知识、Java、PHP以及不同的 JavaScript框架外,她还热衷于产品设计和新技术。可以在
https://www.linkedin.com/profile/view?id=58308893上跟她联系。
Nitin Pawar在从在 Veritas Systems做发布工程师开始的,所以,软件系统质量一直是他工作追求的主要目标。比较幸运的是,他在公司里经历过很多工作内容,例如在 Yahoo!的 5年里,他学了很多 Hadoop生态体系的知识。之后,他在创业公司中,在分析和大数据领域
内,帮助设计后端分析框架和平台。
他乐于解决问题以及帮助他人处理技术问题。通过审校此书,他更深刻地理解了 HBase系统,同时他也希望读者也能够喜欢它。
他还审校了 Packt Publishing出品的 Securing Hadoop, Sudheesh Narayanan,以及一个视频, Building Hadoop Clusters [Video], Sean Mikha。
Jing Song自从毕业之后就作为一个工程师在软件工业工作,有超过 14年的工作经验。她喜欢解决问题以及学习计算机科学方面的新技术。她的兴趣和经验跨了多个层次,从 Web前端 GUI到中间件,从中间件到后端 SQL和 RDBMS以及 NoSQL数据存储。在最近的 5年里,她专注于企业应用性能和云计算领域。Jing现在是 Apple的一个技术领导,领导着从设计到实现以及性能调优等几个 Java应用。
Arun Vasudevan是 Accion Labs India Private Limited的一个技术领导。他专注于商业分析和可视化,在很多工业垂直领域提供解决方案,包括保险、电信和零售业。他专注于大数据技术的应用开发,包括 Hadoop协议、云技术以及 NoSQL数据库。他在云基础设施搭建以及通过 OpenStack和 AWS API管理方面都有丰富的经验。
Arun精通 Java J2EE、JavaScript、关系数据库、NoSQL技术,以及使用定制化 JavaScript可
视化工具,如 D3JS实现可视化。Arun带领一个团队提供商业分析和可视化解决方案。他的 e-mail是:arun.vasudevan@accionlabs.com,也可以访问他的 LinkedIn账号 https://www.linkedin.com/profile/view?id=40201159与他取得联系。

前言
本书自顶向下地介绍如何学习 HBase,对初学者和有经验者都非常有用。你会学习到 HBase的配置、维护以及故障处理,可以说是一体化的 HBase知识库。本书会循序渐进地帮助读者更好地使用 HBase,包括从零开始安装 HBase、日常的 HBase管理以及 Hadoop的实现等。本书还会介绍一些 HBase作为大数据工具的使用案例,帮助读者更好地理解 HBase的架构。市面上有很多 HBase的相关书籍,但大都并不完整,有些只关注配置,有些只关注编码,本书会提供一个完整的介绍,包含完整的 HBase真实场景的管理和开发,即使是一个零基础的人,学完本书也会熟练掌握 HBase。
本书会让读者更好地理解 HBase是什么,其产生背景,涉及哪些人,为什么我们要使用它,何时使用它以及如何使用它,使读者对 HBase生态圈有一个整体的了解。本书包含了 HBase特性的深厚理论和实践,可以帮助读者扫清对 Hadoop和 HBase的疑惑。全面指导读者对 HBase进行配置、管理、故障处理以及使用客户端和服务器 API进行开发。让读者熟练掌握 HBase的设计模式、Java编程和 Shell脚本。
涵盖内容
第 1章详细介绍了 HBase的功能、演变以及架构。与传统数据库进行对比,介绍附加功能
和底层组件以及在行业中的应用。第 2章详细介绍了 HBase的内部架构、组件及组件间的联系、扩展性、读写循环进程、管理任务、region的操作、所需的不同组件以及一些操作系统的调优。
第 3章介绍了如何搭建一个 HBase集群。包括各个组件的下载方式、构建 Hadoop和 HBase
过程中的参数调优。有专门一节介绍各种组件和操作系统的调优。第 4章指导读者根据具体的生产环境和实际运行的任务优化 HBase集群。包含硬件方面、操作系统、软件和网络的参数调优。也会对 HBase的存储层 Hadoop进行优化。
第 5章介绍了 HBase的数据类型,以及对数据进行读取和写入的操作。同时也会介绍一些实例以助于模式设计。
第 6章涵盖 HBase集群管理,操作和运维的各个方面。一旦集群搭建完成并运行,我们需
要不断地检查集群,对其进行调优,并处理故障,这样才能使集群健康运转。本章会介绍
HBase shell和 Hadoop shell的一些命令。
第 7章介绍如何作为管理和开发人员通过 HBase shell脚本编写自动化任务。同时也会介绍 HBase的备份和恢复技术。第 8章介绍如何通过 HBase客户端 API编写客户端程序,来连接 HBase并进行各种类型的
操作。
第 9章详细介绍了 HBase客户端 API、类、方法和接口,以及如何使用 HBase内建的 Web服务和 thrift服务,减少编码量。本章专门有一节介绍介绍 HBase的特殊功能和相关开源
项目。
第 10章介绍了行业中使用 HBase作为底层技术的案例。

前提条件
下面列举了开始学习本书内容之前需做的准备:
. Linux(Ubuntu、Red Hat、Debian、 CentOS、Fedora、 openSUSE或者其他 Linux版本)

. Oracle Java 1.6及以上


可以选择下面任意一组。如果倾向于 Apache:
. Apache Hadoop

. Apache HBase

. ZooKeeper


如果倾向于 Cloudera:
. Cloudera Hadoop

. Cloudera HBase

. Cloudera ZooKeeper



目标读者
本书适用于想要拥抱大数据,学习 HBase的管理人员或开发人员。本书从基本理论开始,结合实际操作,适用所有读者。

排版约定
本书使用多种风格的文本来表示不同信息,下面举例说明这些风格及其含义。文本中的代码,比如数据库表名、文件夹名、文件名、文件扩展名、路径名、URL、用户输入等如下所示:
“This includes information about the location of the .META. table.”
代码块如下所示:
Configuration conf = HBaseConfiguration.create();
HTable table = new HTable(conf, "logtable");
Scan scan = new Scan();
scan.setMaxVersions(2);
ResultScanner result = table.getScanner(scan);
for (Result result: scanner) {

System.out.println("Rows which were scanned : " + Bytes.toString(result.getRow())); }
命令行输入和输出如下所示:
sudo yum clean all; sudo yum install hadoop-hdfs-namenode sudo yum install hadoop-hdfs-secondarynamenode sudo yum install hadoop-0.20-mapreduce-tasktrackerhadoop-hdfs-datanode sudo yum install hbase


提示或技巧在这个图标后列出。

读者反馈
欢迎读者反馈。请让我们知道你对本书的看法,喜欢哪些部分,不喜欢哪些部分。读者反
馈能够帮助我们开发出更优质的内容,以更好的内容回馈读者。
一般反馈,请发送邮件至 feedback@packtpub.com,请在邮件标题中注明书名。如果有你擅长并感兴趣的内容,希望写书或参与写书,请参考作者指引:www.packtpub. com/authors。

客户支持
我们准备了大量内容回馈 Packt出版物的读者,让你觉得物有所值。

源码下载
所有 Packt出版的书中的示例代码都可以登录 http://www.packtpub.com下载。如果你从其他地方购买,可以登录 http://www.packtpub.com/support注册,我们会通过邮件发送给你。

勘误
尽管我们已尽力保证书中内容的正确性,但是错误在所难免。如果读者发现书中的文字错误或者代码错误,请及时告知我们,我们感激不尽。这样可以避免其他读者被错误误导,也有助于图书的再版。如果发现错误,请访问 http://www.packtpub.com/submit-errata,选择书名,点击 errata submission form链接来提交详细的错误信息。一旦你提交的勘误被确认,勘误会上传到我们的网站,并加到现存勘误列表中。所有现存的勘误可以访问 http://www.packtpub.com/support进行查询。
严禁盗版
互联网版权内容的盗版问题是由来已久的问题。Packt出版社严肃对待版权和授权保护,如
果读者在互联网上发现针对本出版社的任何形式的非法盗版物,请立即与我们联系,提供 网址或网站名称,我们将追究到底。
请通过 copyright@packtpub.com与我们联系,并提供涉嫌盗版内容的链接地址。
感谢您保全了作者利益,保全了我们提供优质内容的能力。

提问
对于本书任何方面的疑问都可以发送邮件至 questions@packtpub.com,我们将竭力回
复。

目录

目录 阅读
第1章 了解 HBase 生态系统
第2章 开启 HBase 之旅
第3章 搭建 HBase
第5章 HBase 的存储、框架以及数据类型
第6章 HBase 集群运维与故障处理
第7章 HBase 脚本编程
第8章 HBase Java 编程
第9章 HBase Java 高级编程
第10章 HBase 使用案例

读者评论

图书类别

相关图书

SequoiaDB分布式数据库权威指南

黄达玮 (作者)

本书旨在介绍 SequoiaDB 巨杉数据库的基本概念、应用场景、企业级应用案例、数据库实例创建与管理方式、数据库集群管理的基本策略、以及性能调优和问题诊断。...

¥99.00

千金良方——MySQL性能优化金字塔法则

李春 罗小波 董红禹 (作者)

本书一共分为3篇:基础篇、案例篇和工具篇。“基础篇”从理论基础和基本原理层面介绍了MySQL的安装与配置、升级和体系结构,information_schema、...

¥90.30

数据分析与量化投资——基于SAS的应用

林煜恩 (作者)

本书基于SAS EG平台下,采用项目管理的过程流方式来介绍数据分析以及量化投资策略方法,书中提供了作者撰写的autoexec命令文件,可让SAS在运行时,就自带...

 

DBA 手记——Oracle 数据安全的警示与原则

盖国强 (作者)

本书以数据安全为主线将众多灾难挽救过程串联在一起,不仅对各个案例的发生过程进行了详细描述,更为读者提供了具体的规避法则。其间穿插介绍了很多新鲜的技术细节和恢复方...

¥99.00

收获,不止Oracle(第2版)

梁敬彬 (作者)

在这本书里,读者将会跟随作者一同对Oracle数据库的相关知识进行梳理,最终共同提炼出必须最先掌握的那部分知识,无论你是数据库开发、管理、优化、设计人员,还是从...

¥99.00

MySQL王者晋级之路

张甦 (作者)

目前大部分软件开发平台都基于Linux,很多互联网公司都把MySQL作为后端数据存储的数据库。如果把MySQL比喻成数据库界的一条巨龙,则本书涵盖的所有知识点就...

¥79.00