目 錄
第1章 云計算背景與Hadoop
1.1 云計算概述
1.1.1 云計算的定義
1.1.2 云計算的特點
1.1.3 云計算的發(fā)展史
1.1.4 云計算的發(fā)展趨勢
1.1.5 云計算的基本特征
1.2 云計算的優(yōu)缺點
1.3 云計算存在的問題
1.4 Hadoop使用
1.4.1 國外Hadoop使用
1.4.2 國內Hadoop使用
1.5 Hadoop概述
1.5.1 Hadoop的起源及簡介
1.5.2 Hadoop的歷史
1.5.3 Hadoop的功能與作用
1.5.4 Hadoop的優(yōu)勢
1.5.5 Hadoop的現狀與趨勢
1.6 Hadoop的總體結構與模塊簡介
1.7 Hadoop的數據管理
1.7.1 HDFS的數據管理
1.7.2 HBase的數據管理
1.7.3 Hive的數據管理
第2章 Hadoop的安裝與配置
2.1 在Linux上安裝Hadoop
2.1.1 安裝單節(jié)點Hadoop
2.1.2 在Linux系統(tǒng)上安裝多
節(jié)點Hadoop
2.2 Windows安裝Hadoop
2.2.1 單機模式下安裝Hadoop
2.2.2 分布模式下安裝Hadoop
2.3 Hadoop的組件
2.3.1 基本文件命令
2.3.2 剖析MapReduce
2.4 Hadoop的InputFormat與
OutputFormat
2.4.1 InputFormat
2.4.2 OutputFormat
2.5 Hadoop的常用命令
2.5.1 常規(guī)選項
2.5.2 HDFS Shell命令
2.5.3 用戶命令
2.5.4 管理命令
2.6 Hadoop的I/O操作
2.6.1 I/O操作數據檢查
2.6.2 壓縮數據
2.6.3 數據I/O中的序列化操作
2.6.4 MapReduce文件類
2.7 Hadoop的權限管理
2.7.1 概述
2.7.2 用戶分組管理
2.7.3 作業(yè)管理
2.7.4 提交作業(yè)
第3章 Hadoop云計算的MapReduce詳解
3.1 總體結構
3.2 MapReduce的工作原理
3.3 MapReduce的基礎模板
3.4 一個氣象數據集
3.4.1 數據格式
3.4.2 使用UNIX工具進行數據
分析
3.4.3 使用Hadoop進行數據
分析
3.4.4 新的Java MapReduce API
3.4.5 Combiner
3.4.6 運行分布式MapReduce
作業(yè)
3.5 MapReduce的應用實例
3.5.1 數據去重
3.5.2 排序
3.5.3 二次排序
3.5.4 單表關聯
3.5.5 多表關聯
3.6 復合鍵值對的使用
3.6.1 合并鍵值
3.6.2 用復合鍵排序
3.7 定制數據類型及格式
3.7.1 定制數據類型
3.7.2 定義數據輸入格式與
RecordReader
3.7.3 定制數據輸出格式與
RecordWriter
3.7.4 定制Partitioner
3.7.5 定制Combiner
3.8 shuffle與排序
3.8.1 map端
3.8.2 reduce端
3.8.3 shuffle過程
3.9 組合式MapReduce作業(yè)
3.9.1 迭代MapReduce計算任務
3.9.2 順序組合式MapReduce
作業(yè)的執(zhí)行
3.9.3 前、后處理的鏈接
3.9.4 復雜依賴關系的組合式
3.10 使用DataJoin包實現Join
3.11 參數/數據文件的傳遞與使用
3.11.1 傳遞全局作業(yè)參數
3.11.2 查詢全局MapReduce
作業(yè)屬性
3.11.3 全局數據文件的傳遞
第4章 Hadoop云計算的ZooKeeper詳解
4.1 ZooKeeper的基本概念
4.1.1 ZooKeeper的角色
4.1.2 設計目的
4.1.3 工作原理
4.1.4 工作流程
4.1.5 數據模型
4.2 ZooKeeper的安裝
4.2.1 軟件及環(huán)境要求
4.2.2 單機模式
4.2.3 集群模式
4.2.4 集群偽分布
4.2.5 啟動并測試ZooKeeper
4.3 ZooKeeper的配置
4.3.1 Client和ZK集群的連接及
session的建立過程
4.3.2 關于ACL
4.3.3 關于Watcher
4.3.4 關于Log文件和snapshot
4.4 ZooKeeper的使用
4.4.1 ZooKeeper的簡單操作
4.4.2 ZooKeeper的四字命令
4.4.3 ZooKeeper的命令行工具
4.4.4 常用接口列表
4.4.5 基本操作
4.4.6 ZooKeeper API的使用
4.5 ZooKeeper的特性
4.5.1 ZooKeeper的會話及狀態(tài)
4.5.2 讀寫性能測試
4.5.3 可靠性測試
4.6 ZooKeeper的典型應用
4.6.1 統(tǒng)一命名服務(Name
Service)
4.6.2 配置管理(Configuration
Management)
4.6.3 集群管理(Group
Membership)
4.6.4 分布式鎖
4.6.5 共享鎖(Locks)
4.6.6 隊列管理
4.7 ZooKeeper實例詳解
4.8 進程調度系統(tǒng)
4.8.1 設計方案
4.8.2 設計實現
第5章 Hadoop云計算的Mahout詳解
5.1 Mahout概述
5.2 Mahout的安裝與配置
5.3 Mahout API簡介5.4 Mahout的相關算法
5.4.1 分類算法
5.4.2 聚類算法
5.4.3 Slope one算法
5.5 應用Mahout建立一個推薦引擎
5.5.1 推薦引擎概述
5.5.2 推薦引擎的實現代碼
5.6 運行Naive Bayes分類器
5.6.1 生成分類結果的前提準備
5.6.2 實現生成分類結果代碼
5.7 基于Mahout的應用
5.7.1 應用構架
5.7.2 應用實例
第6章 Hadoop云計算的Avro詳解
6.1 Avro概述
6.2 Avro模式
6.2.1 Avro模式聲明
6.2.2 組件化Avro模式
6.3 Avro數據
6.3.1 數據序列化
6.3.2 數據排序順序
6.4 Avro協議
6.4.1 Avro協議聲明
6.4.2 協議傳輸格式
6.5 使用Avro實現繼承
6.6 使用Avro實現多態(tài)性
6.7 使用Avro的向后兼容性
6.8 Avro的C/C++實現
6.9 Avro的Java實現
6.10 Avro IDL語言
第7章 Hadoop云計算的Chukwa詳解
7.1 初識Chukwa
7.1.1 Chukwa不是什么
7.1.2 Chukwa是什么
7.1.3 Chukwa流水線數據處理
7.2 Chukwa架構
7.2.1 adaptors和agents
7.2.2 collector與Demux
7.2.3 HICC
7.2.4 dbadmin
7.2.5 數據接口與