日韩偷拍一区二区,国产香蕉久久精品综合网,亚洲激情五月婷婷,欧美日韩国产不卡

在線客服
HBase企業應用開發實戰圖書
人氣:24

HBase企業應用開發實戰

國內博學Hadoop技術專家實踐經驗結晶,從企業實際生產環境和需求出發,旨在幫助企業真正解決大數據的落地問題.
  • 所屬分類:圖書 >計算機/網絡>企業軟件開發與實施  
  • 作者:[馬延輝],[孟鑫],[李立松] 著
  • 產品參數:
  • 叢書名:大數據技術叢書
  • 國際刊號:9787111478324
  • 出版社:機械工業出版社
  • 出版時間:2014-09
  • 印刷時間:2014-09-01
  • 版次:1
  • 開本:16開
  • 頁數:--
  • 紙張:膠版紙
  • 包裝:平裝
  • 套裝:

內容簡介

本書強調HBase在企業的實際應用,立足于企業的實際生產環境,旨在幫助企業切實解決大數據技術如何落地的問題。三位作者都是奮戰在中國大數據技術一線的實踐派專家,本書是他們實踐經驗的結晶。

本書內容在三個維度上具有重要特色:功能維度,從HBase的安裝配置、參數設置,到數據模型、表結構設計、客戶端使用、高級特性,本書做了系統且詳盡的介紹;實戰維度,不僅通過3個典型的應用案例詳細講解了如何使用HBase設計大型的數據應用系統,而且還結合實際生產系統講解了HBase的集群運維、監控和性能調優;理論維度,則深入分析了HBase、框架設計、模式設計和基本原理。可謂是理論與實踐結合,深度與廣度兼備!

編輯推薦

國內博學Hadoop技術專家實踐經驗結晶,從企業實際生產環境和需求出發,旨在幫助企業真正解決大數據的落地問題

系統介紹HBase的功能使用、框架設計、基本原理和高級特性;詳細講解使用HBase設計大型數據應用系統的實踐方法和技巧;深刻總結系統運維、監控和性能調優的實踐

作者簡介

馬延輝 博學Hadoop技術專家,對Hadoop生態系統相關技術有深刻的理解。曾就職于、Answers.com、暴風影音等知名互聯網公司,從事Hadoop相關的技術工作,在企業級的大數據系統的研發、運維和管理方面積累了豐富的實戰經驗。開源HBase監控工具Ella作者。在國內Hadoop社區內非常活躍,經常在各種會議和沙龍上做技術分享,深受歡迎。現在專注于大數據技術在傳統行業的落地,致力于大數據技術的普及和推廣。

孟鑫 博學Hadoop技術專家,在軟件行業從業近10年,對海量數據處理技術有著深刻的認識,曾負責Hadoop平臺建設工作,在Hadoop開發和運維方面積累了大量的實戰經驗。于2013年獲取了Cloudera的Hadoop Developer認證,多次到企業和社區去分享Hadoop、HBase等方面的技術知識和經驗。對技術擁有極大的興趣,熱衷于研究各種新技術,總結和分享經驗及教訓,目前從事管理工作,但依然熱衷于產品設計和實現。

李立松 博學Hadoop技術專家,Easyhadoop技術社區創始人之一,對HDFS、MapReduce、HBase、Hive等Hadoop生態系統中的技術有比較深入的研究,在Hadoop開發方面積累了豐富的經驗。曾就職于暴風,負責暴風大數據平臺開發與應用,暴風大數據項目負責人。現在就職于締元信,擔任Hadoop高級工程師,負責締元信DMP平臺的研發工作。

目錄

前 言

及時部分 基礎篇

第1章 認識HBase

1.1 理解大數據背景

1.1.1 什么是大數據

1.1.2 為何大數據至關重要

1.1.3 NoSQL在大數據中扮演的角色

1.2 HBase是什么

1.2.1 HBase的發展歷史

1.2.2 HBase的發行版本

1.2.3 HBase的特性

1.3 HBase與Hadoop的關系

1.4 HBase的核心功能模塊

1.4.1 客戶端Client

1.4.2 協調服務組件ZooKeeper

1.4.3 主節點HMaster

1.4.4 Region節點HRegionServer

1.5 HBase的使用場景和經典案例

1.5.1 搜索引擎應用

1.5.2 增量數據存儲

1.5.3 用戶內容服務

1.5.4 實時消息系統構建

1.6 本章小結

第2章 HBase安裝與配置

2.1 先決條件

2.2 HBase運行模式

2.2.1 單機模式

2.2.2 分布式模式

2.3 HBase的Web UI

2.4 HBase Shell工具使用

2.5 停止HBase集群

2.6 本章小結

第3章 數據模型

3.1 兩類數據模型

3.1.1 邏輯模型

3.1.2 物理模型

3.2 數據模型的重要概念

3.2.1 表

3.2.2 行鍵

3.2.3 列族

3.2.4 單元格

3.3 數據模型的操作

3.3.1 讀Get

3.3.2 寫Put

3.3.3 掃描Scan

3.3.4 刪除Delete

3.4 數據模型的特殊屬性

3.4.1 版本

3.4.2 排序

3.4.3 列的元數據

3.4.4 連接查詢

3.4.5 計數器

3.4.6 原子操作

3.4.7 事務特性ACID

3.4.8 行鎖

3.4.9 自動分區

3.5 CAP原理與最終一致性

3.6 本章小結

第4章 HBase表結構設計

4.1 模式創建

4.2 Rowkey設計

4.3 列族定義

4.3.1 可配置的數據塊大小

4.3.2 數據塊緩存

4.3.3 布隆過濾器

4.3.4 數據壓縮

4.3.5 單元時間版本

4.3.6 生存時間

4.4 模式設計實例

4.4.1 實例1:動物分類

4.4.2 實例2:店鋪與商品

4.4.3 實例3:網上商城用戶消費記錄

4.4.4 實例4:微博用戶與粉絲

4.5 本章小結

第5章 HBase客戶端

5.1 精通原生Java客戶端

5.1.1 客戶端配置

5.1.2 創建表

5.1.3 刪除表

5.1.4 插入數據

5.1.5 查詢數據

5.1.6 刪除數據

5.1.7 過濾查詢

5.2 使用HBase Shell工具操作HBase

5.2.1 命令分類

5.2.2 常規命令

5.2.3 DDL命令

5.2.4 DML命令

5.2.5 工具命令Tools

5.2.6 復制命令

5.2.7 安全命令

5.3 使用Thrift客戶端訪問HBase

5.3.1 Thrift與Thrift2區別

5.3.2 安裝與部署Thrift2

5.3.3 Python使用案例

5.4 通過REST客戶端訪問HBase

5.4.1 啟動服務

5.4.2 使用REST訪問example表

5.5 使用MapReduce批量操作HBase

5.5.1 三種訪問模式

5.5.2 實現MapReduce API

5.5.3 HBase作為輸入源示例

5.5.4 HBase作為輸出源示例

5.5.5 HBase作為共享源示例

5.6 通過Web UI工具查看HBase狀態

5.6.1 Master狀態界面

5.6.2 RegionServer狀態界面

5.6.3 ZooKeeper統計信息頁面

5.7 其他客戶端

5.8 本章小結

第二部分 實戰篇

第6章 整合SQL引擎層

6.1 NoSQL背景知識

6.1.1 什么是NoSQL

6.1.2 將SQL整合到HBase的原因

6.1.3 基于HBase的SQL引擎實現

6.2 Hive整合HBase的實現

6.2.1 認識Hive

6.2.2 Hive整合HBase的環境準備

6.2.3 Linux環境下重新編譯Hive

6.2.4 Hive參數配置

6.2.5 啟動Hive

6.2.6 Hive與HBase整合后的框架如何使用

6.2.7 HBase到Hive的字段映射

6.2.8 多列與Hive Map類型

6.3 查詢引擎Phoenix

6.3.1 認識Phoenix

6.3.2 Phoenix安裝環境準備

6.3.3 Phoenix安裝部署

6.3.4 Phoenix源碼編譯

6.3.5 Phoenix中SQLLine的快速使用

6.3.6 使用JDBC訪問Phoenix

6.4 對象映射框架Kundera

6.4.1 認識Kundera

6.4.2 Kundera的客戶端API快速使用

6.4.3 Kundera模塊介紹

6.4.4 Kundera的REST訪問方式

6.5 分布式SQL引擎Lealone

6.5.1 認識Lealone

6.5.2 Lealone的安裝部署

6.5.3 通過JDBC訪問Lealone

6.5.4 通過Python訪問Lealone

6.5.5 Lealone特有的建表語法

6.6 本章小結

第7章 構建音樂站用戶屬性庫

7.1 案例背景

7.1.1 音樂站

7.1.2 需求概述

7.1.3 需求范圍和系統邊界

7.1.4 需求詳述

7.1.5 名詞解釋

7.2 概要設計

7.2.1 設計目標

7.2.2 數據規模假設

7.2.3 功能指標

7.2.4 系統流程

7.3 表結構設計

7.3.1 功能抽象

7.3.2 邏輯結構

7.3.3 Rowkey設計

7.3.4 列族設計

7.3.5 版本定義

7.3.6 優化屬性定義

7.4 數據加載

7.4.1 加載流程

7.4.2 Mapper類

7.4.3 Main類

7.4.4 運行

7.5 數據檢索

7.5.1 HBaseTable

7.5.2 HBaseAdmin

7.5.3 幾種檢索類型

7.6 后臺查詢

7.6.1 二級索引實現

7.6.2 后臺查詢系統

7.7 本章小結

第8章 構建廣告實時計算系統

8.1 理解廣告數據和流處理框架

8.1.1 網絡廣告的幾大特性

8.1.2 網絡廣告的數據類型

8.1.3 流處理框架

8.1.4 背景與需求描述

8.2 概要設計

8.2.1 設計目標

8.2.2 主要功能

8.2.3 系統架構

8.3 詳細設計

8.3.1 表結構設計

8.3.2 功能模塊設計

8.4 核心功能實現

8.4.1 規劃集群環境部署

8.4.2 安裝ZooKeeper集群

8.4.3 安裝Kafka分布式集群

8.4.4 實現Kafka生產者

8.4.5 安裝Storm分布式集群

8.4.6 查看集群節點部署情況

8.4.7 基于Storm-kafka中間件實現計算邏輯

8.4.8 如何使用HBase中統計數據

8.5 本章小結

第三部分 高級篇

第9章 核心概念

9.1 核心結構

9.1.1 B+樹

9.1.2 LSM樹

9.1.3 兩種結構本質區別

9.2 底層持久化

9.2.1 存儲基本架構

9.2.2 HDFS文件

9.2.3 Region切分

9.2.4 合并

9.2.5 HFile格式

9.2.6 KeyValue格式

9.3 預寫日志

9.3.1 概要流程

9.3.2 相關Java類

9.3.3 日志回放

9.3.4 日志一致性

9.4 寫入流程

9.4.1 客戶端

9.4.2 服務器端

9.5 查詢流程

9.5.1 兩種查詢操作

9.5.2 客戶端

9.5.3 服務器端

9.6 數據備份

9.6.1 備份機制架構

9.6.2 故障恢復

9.7 數據壓縮

9.7.1 支持的壓縮算法

9.7.2 使用配置

9.8 本章小結

第10章 HBase高級特性

10.1 過濾器

10.1.1 過濾器的兩類參數

10.1.2 比較器

10.1.3 列值過濾器

10.1.4 鍵值元數據過濾器

10.1.5 行鍵過濾器

10.1.6 功能過濾器

10.1.7 Thrift使用過濾器

10.1.8 過濾器總結

10.2 計數器

10.2.1 使用Shell操作計數器

10.2.2 基于單列的計數器

10.2.3 多列計數器

10.3 協處理器

10.3.1 認識協處理器

10.3.2 觀察者Observer

10.3.3 終端EndPoint

10.3.4 協處理器部署

10.4 Schema設計要點

10.4.1 行鍵設計

10.4.2 列族設計

10.5 二級索引

10.5.1 Client-managed方式

10.5.2 ITHBase實現

10.5.3 IHBase實現

10.5.4 Coprocessor方式

10.5.5 MapReduce兩種方式

10.6 布隆過濾器

10.6.1 基本概念

10.6.2 配置布隆過濾器

10.6.3 使用布隆過濾器

10.7 負載均衡

10.7.1 全局計劃

10.7.2 隨機分配計劃

10.7.3 批量啟動分配計劃

10.7.4 通過Shell控制負載均衡

10.8 批量加載

10.8.1 準備數據:importtsv

10.8.2 加載數據:completebulkload

10.9 本章小結

第11章 集群運維管理

11.1 HBase常用工具

11.1.1 文件檢測修復工具hbck

11.1.2 文件查看工具hfile

11.1.3 WAL日志查看工具hlog

11.1.4 壓縮測試工具CompressionTest

11.1.5 數據遷移工具CopyTable

11.1.6 導出工具export

11.1.7 導入工具Import

11.1.8 日志回放工具WALPlayer

11.1.9 行數統計工具RowCounter

11.2 Region和RegionServer管理

11.2.1 大合并工具major_compact

11.2.2 Region合并工具Merge

11.2.3 下線節點

11.2.4 滾動重啟

11.3 性能指標Metrics

11.3.1 Master Metrics

11.3.2 RegionServer Metrics

11.3.3 RPC Metrics

11.3.4 JVM Metrics

11.3.5 集群屬性Metrics

11.4 監控系統Ganglia

11.4.1 HBase監控指標

11.4.2 安裝、部署和使用Ganglia

11.5 HBase管理擴展JMX

11.5.1 如何使用JMX

11.5.2 基于JMX的監控工具Ella

11.6 報警工具Nagios

11.7 故障處理

11.7.1 問題咨詢渠道

11.7.2 常用日志信息

11.7.3 常用故障調試工具

11.7.4 客戶端故障排查

11.7.5 MapReduce故障排查

11.7.6 網絡故障排查

11.7.7 RegionServer相關問題解決

11.7.8 Master相關問題解決

11.7.9 ZooKeeper相關問題解決

11.8 集群備份

11.8.1 冷備份

11.8.2 熱備份之Replication

11.8.3 熱備份之CopyTable

11.8.4 熱備份之Export

11.9 本章小結

第12章 性能調優

12.1 硬件和操作系統調優

12.1.1 配置內存

12.1.2 配置CPU

12.1.3 操作系統

12.2 網絡通信調優

12.2.1 配置交換機

12.2.2 添加機架感知

12.3 JVM優化

12.3.1 Java垃圾回收算法

12.3.2 Java垃圾收集器

12.3.3 垃圾回收器的選擇

12.3.4 JVM參數設置

12.4 HBase查詢優化

12.4.1 設置Scan緩存

12.4.2 顯式地指定列

12.4.3 關閉ResultScanner

12.4.4 禁用塊緩存

12.4.5 優化行鍵查詢

12.4.6 通過HTableTool訪問

12.4.7 使用批量讀

12.4.8 使用Filter降低客戶端壓力

12.4.9 使用Coprocessor統計行數

12.4.10 緩存查詢結果

12.5 HBase寫入優化

12.5.1 關閉寫WAL日志

12.5.2 設置AutoFlush

12.5.3 預創建Region

12.5.4 延遲日志flush

12.5.5 通過HTableTool訪問

12.5.6 使用批量寫

12.6 HBase基本核心服務優化

12.6.1 優化分裂操作

12.6.2 優化合并操作

12.7 HBase配置參數優化

12.7.1 設置RegionServer Handler數量

12.7.2 調整BlockCache大小

12.7.3 設置MemStore的上下限

12.7.4 調整影響合并的文件數

12.7.5 調整MemStore的flush因子

12.7.6 調整單個文件大小

12.7.7 調整ZooKeeper Session的有效時長

12.8 分布式協調系統ZooKeeper優化

12.8.1 配置ZooKeeper節點數

12.8.2 獨立ZooKeeper集群

12.9 表設計優化

12.9.1 開啟布隆過濾器

12.9.2 調整列族塊大小

12.9.3 設置In Memory屬性

12.9.4 調整列族較大版本數

12.9

在線預覽

及時部分 Part 1

基 礎 篇

第1章 認識HBase

第2章 HBase安裝與配置

第3章 數據模型

第4章 HBase表結構設計

第5章 HBase客戶端

Chapter 1 第1章

認識HBase

本章將介紹大數據背景和HBase的基本概念,從大數據引申到NoSQL,并闡述HBase出現的契機。隨后,將介紹HBase的概念、發展歷史、發行版本和基本特性。其中,HBase的核心功能模塊將作為一個小節單獨重點介紹,通過介紹HBase的使用場景和經典案例,讓讀者朋友能夠清晰地了解HBase可以做什么。

作為NoSQL家庭的一員,HBase的出現彌補了Hadoop只能離線批處理的不足,同時能夠存儲小文件,提供海量數據的隨機檢索,并保障一定的性能。而這些特性也完善了整個Hadoop生態系統,泛化其大數據的處理能力,結合其高性能、穩定、擴展性好的特行,給使用大數據的企業帶來了福音。

因為本章是全書的開篇,唯有簡明扼要地介紹才能幫助正在學習和想要學習HBase的讀者,所以本章將提綱掣領地介紹HBase的相關知識,重點介紹HBase是什么以及HBase能做什么兩部分。

1.1 理解大數據背景

經美國機構IDC調查發現,現如今的公司正在以前所未有的速度和豐富的類型產生數據,并且也有能力存儲這些數據,但是,如何關聯這兩方面以便產生較大的商業價值,是所有公司共同面臨的挑戰。這個問題非常復雜:雖然業務人員在技能提升和專業工具的幫助下,越來越了解數據,但由于數據的增長速度越來越快,積累量級越來越大,公司可以利用的數據比例正在迅速下降。

1.1.1 什么是大數據

Gartner認為與過去相關概念相比,大數據強調3V特征,即Volume(量級)、Varity(種類)和Velocity(速度),如圖1-1所示。

圖1-1 大數據三大特性

如今存儲的數據量正在急劇增長,2000年全球存儲了EB級別的數據,預計到2020年,該值將變為ZB級別。僅Twitter每天就會生成超過10TB的數據,Facebook的數據為幾十TB,一些特殊的企業在每小時就會產生TB級別的數據。

上面這些企業是一些典型的案例,其實我們生活的方方面面都會形成很多"軌跡"。例如,打開手機會生成一個事件;乘坐公共交通刷卡,這是一個事件;檢票登機、打卡上班、App Store上購買應用、更換電視頻道、使用高速路電子收費系統等。每一項操作都會生成數據,并且該數據的量級與參與的人數相關,全球60億人口,如果僅僅1/10的人參與進來,那么這個數據量級就已經非常驚人。就在10年前IT界超過1TB的數據倉庫屈指可數,而現在則是"舉不勝舉"。

隨著傳感器、智能設備以及社交協作技術的激增,企業中的數據也變得更加復雜,因為它不僅包含傳統的關系型數據,還包含來自網頁、Web日志文件、社交媒體論壇、電子郵件、文檔、傳感器數據等原始、半結構化和非結構化數據。

傳統系統可能很難存儲、分析這些數據的內容,更不要說挖掘有價值的信息。因為傳統的數據庫、數據倉庫、聯機事務處理等技術并不適合處理這些數據。盡管一些公司正在朝大數據方向大力發展,但總體而言,大部分公司只是剛開始理解大數據。當回首整個數據庫發展的歷程會發現,人們將大部分時間都花在僅20%的數據上:這些數據格式整齊且符合嚴格模式的關系類型。但事實是,全球80%的數據是非結構化的或者半結構化的。

視頻和圖片不能輕松或高效地存儲在關系型數據庫中,某些事件信息可能動態地更改(如氣象),它們不太適合嚴格的模式。要利用大數據,企業必須能夠分析所有類型的數據,包括關系和非關系數據:文本、傳感器數據、音頻和視頻等。

有效處理大數據需要在數據變化的過程中對它的數量和種類進行分析,而不只是在"靜止"狀態進行分析。業界定義這種情況為從單純批量計算模式到實時動態計算模式的內涵式轉變。內涵式在這里也比較容易理解,即結構優化、質量提高,是一種實現實質性的跨越式的進程。大數據平臺允許用戶將所有數據存儲為其原生的業務對象格式,通過可用組件上的大規模并行計算實現價值,不僅僅是批量處理和離線分析,同時支持實時查詢和處理等特征,甚至要求響應時間在毫秒級別,并且可承受大規模的并發訪問,這些都是"速度"特征的范疇。

網友評論(不代表本站觀點)

免責聲明

更多出版社
主站蜘蛛池模板: 蛟河市| 扶绥县| 伊宁市| 泸定县| 桂东县| 宕昌县| 简阳市| 彭州市| 江口县| 齐河县| 普宁市| 永宁县| 杭锦旗| 汕尾市| 平武县| 巩留县| 澄城县| 河北省| 剑阁县| 洛南县| 湖口县| 桦南县| 明光市| 伊金霍洛旗| 海南省| 乐安县| 湖口县| 玉田县| 三穗县| 聊城市| 玉树县| 巴林左旗| 乌苏市| 本溪| 鄂州市| 徐闻县| 芷江| 建昌县| 思南县| 康保县| 昌图县|