|
java自学网(www.javazx.com)-java论坛,java电子书推荐:《HBase企业应用开发实战》' e6 V& T$ j1 j+ ~" q
java电子书推荐理由:本书内容在三个维度上具有重要特色:功能维度,从HBase的安装配置、参数设置,到数据模型、表结构设计、客户端使用、高级特性,本书做了系统且详尽的介绍;实战维度,不仅通过3个典型的应用案例详细讲解了如何使用HBase设计大型的数据应用系统,而且还结合实际生产系统讲解了HBase的集群运维、监控和性能调优;理论维度,则深入分析了HBase、框架设计、模式设计和基本原理。可谓是理论与实践完美结合,深度与广度兼备!/ b8 G. k1 U; y: d* E
" G- N) _5 ^: Y4 e, Q+ v作者:马延辉,孟鑫,李立松 著' F+ p8 @+ x) j- _- ~2 q9 w5 ^* {
出版社:机械工业出版社& s" Y5 q1 H. f! U; R- \# I
出版时间:2014年09月 % O# H) S8 v# W3 \' ]
! Q6 V! |/ |7 w4 m
- x4 r. M) E; ^8 _# Z, F8 t
2 w( L+ D3 G. T \" b8 {8 n# b% ~, e
; ^" t6 s: j# g' E% djava电子书目录:
7 c6 O5 s" l @7 J$ x) d' |第一部分 基础篇
; F. n9 x: |3 c4 }第1章 认识HBase! n% }6 g& T% [4 o1 N4 L+ r) k
1.1 理解大数据背景
0 T8 S- i4 Y, h* J. S! P. o" V1 `1.1.1 什么是大数据& e( o9 B5 S: O& l: x' X; C
1.1.2 为何大数据至关重要
8 D% T, k5 C' k2 o) J s1.1.3 NoSQL在大数据中扮演的角色
3 S1 ?3 {5 U: y( d1.2 HBase是什么
/ `' Y% |9 I7 ?8 c: l- y5 u1.2.1 HBase的发展历史
2 W7 I/ n# z2 y) j8 r$ W1.2.2 HBase的发行版本
' @( t2 j2 e. \6 t1.2.3 HBase的特性
4 H1 }# \. v v; ~! f7 L1.3 HBase与Hadoop的关系
% z9 ^ R& X J0 Q% ~) p. `1.4 HBase的核心功能模块
" A4 K6 R# R, X1.4.1 客户端Client
* `7 T# b0 k4 `1.4.2 协调服务组件ZooKeeper
' @* Z! v7 G L9 l3 K1.4.3 主节点HMaster' |% N/ Q( R% M$ T
1.4.4 Region节点HRegionServer
' P$ \- ~; Z/ d( e R8 ^2 T1.5 HBase的使用场景和经典案例
4 ?9 d4 o4 O& {* O1.5.1 搜索引擎应用
2 a5 @. J w' b- S1.5.2 增量数据存储7 {* T4 d7 J4 v9 E$ D
1.5.3 用户内容服务
?" z0 v0 s2 }" P1.5.4 实时消息系统构建9 e& H. ~, q8 l& U) Q
1.6 本章小结
4 j' N3 b; k. o5 G6 m第2章 HBase安装与配置
8 m; o) G+ ^) {% s- I2.1 先决条件
0 ^9 L+ X4 x- V1 H* y! p+ b2.2 HBase运行模式+ d( r# w0 j9 H7 e
2.2.1 单机模式( d: P" m1 V" ^1 _5 ?6 t+ R+ J
2.2.2 分布式模式
( Q8 T" g! y& S Y- ^! w2.3 HBase的Web UI, n5 i: B5 h/ |; Z, p. Q
2.4 HBase Shell工具使用
1 G F1 f/ @* c+ N2 n2.5 停止HBase集群/ ~( z- n) C g" x" }
2.6 本章小结& F( K L$ S3 q
第3章 数据模型
; f0 _' L" B" f' O; x4 C3.1 两类数据模型& j, U% B4 m: d/ @& N( G
3.1.1 逻辑模型
" E6 _$ U. k: I# l7 s6 W3.1.2 物理模型
. l6 x, Z& V% m b- f3.2 数据模型的重要概念
+ D* `, L% j( K5 J3.2.1 表2 D3 }" M7 H2 f' `* u$ `: R
3.2.2 行键2 n! k& r* J( M- N1 U
3.2.3 列族
9 ~0 m; r4 k% S c3.2.4 单元格
+ f: K9 u8 ~- H; K) o6 N9 |4 Z3 F3.3 数据模型的操作
: d8 U5 O/ Z9 b. T3.3.1 读Get
0 P6 d$ f6 z2 i+ a9 V$ G5 Q: B3.3.2 写Put
$ {- @: K. e$ {4 d4 O3.3.3 扫描Scan: G; b t3 E# ]& k: Z7 b4 v0 F
3.3.4 删除Delete
( o: e' @' q- _2 h8 {' ~2 _- Y3.4 数据模型的特殊属性, m/ q4 r* ~* L' z9 L5 C( m7 H
3.4.1 版本
2 q: e' S* Z. e% V, h; [/ R3.4.2 排序3 s( g9 L( l! \# O
3.4.3 列的元数据
( ?; ?0 |* H4 N$ n! a) O& }0 n0 e& f3.4.4 连接查询
/ n7 N/ T5 v# `' n3 E3.4.5 计数器5 d) P, T5 h2 t5 y! w8 N
3.4.6 原子操作) e8 _1 A( B0 k1 p+ s4 ~- T
3.4.7 事务特性ACID
, Z2 v+ N& i; ?* z, |; W3.4.8 行锁" m: ^2 ^/ h; p: c, c7 z
3.4.9 自动分区
9 \ ~$ ?6 P1 L' ~9 W6 K/ u3.5 CAP原理与最终一致性
/ T+ D7 |7 [. v# \( `& \, y! Q3.6 本章小结
! \! V: ^5 L9 h* u第4章 HBase表结构设计7 y* ?( i. K3 C
4.1 模式创建( m5 n1 G3 ?5 N: \
4.2 Rowkey设计
8 M H/ b) x( I' }5 {4.3 列族定义4 m" e( A7 Z+ q
4.3.1 可配置的数据块大小 [, F+ v( N7 I5 \% s u, s+ E
4.3.2 数据块缓存, Q0 b* d4 _; F( ]; K0 S+ J
4.3.3 布隆过滤器
8 @! F+ a- z+ e% i4.3.4 数据压缩8 e; E3 d/ v4 G& a
4.3.5 单元时间版本1 R6 G) x, k) @1 D3 V$ N
4.3.6 生存时间
" K( V1 r- Y9 f+ f/ c# D$ O' n4.4 模式设计实例
% L T% b" K8 l E/ {4.4.1 实例1:动物分类
& o3 J6 V( n# c1 @. c- ~; I* U' _4.4.2 实例2:店铺与商品
9 w& E5 F- U4 I1 x4 L$ O: d1 S6 D4.4.3 实例3:网上商城用户消费记录7 m- |( P3 ?1 A J& F
4.4.4 实例4:微博用户与粉丝6 A9 `" E1 z7 p1 [, g, R+ e! z" C
4.5 本章小结! V ` S8 G. e+ t8 Q+ E
第5章 HBase客户端
; k2 \- [0 ?. J0 `. B5.1 精通原生Java客户端
+ @- M) w0 c' s! t: f6 O/ F7 @5.1.1 客户端配置
- O* I5 o% k7 T4 y: R5.1.2 创建表, c- m% Z5 Y* [* D$ i) w
5.1.3 删除表! X, t ~+ [, t. s
5.1.4 插入数据2 l3 _8 r7 d" f/ o: }
5.1.5 查询数据6 n8 `- X0 G+ X8 U1 R3 z+ l
5.1.6 删除数据
! t/ ]7 T, H5 Z# F C/ r9 g. Z5.1.7 过滤查询% R- }0 y4 z1 U x; G- _8 d+ q
5.2 使用HBase Shell工具操作HBase
@# z2 L" z5 N! l5.2.1 命令分类: u) \ s$ e( w* P6 }9 r8 @
5.2.2 常规命令: C- e4 f/ x- o* q! D
5.2.3 DDL命令2 d# @) ?$ P9 Q( s* `
5.2.4 DML命令& }7 f/ D3 X- g; s
5.2.5 工具命令Tools
" ^' X# E; |; ^5 ]$ M6 x m: V5.2.6 复制命令
- Q9 u+ I2 e9 j( u3 E A0 k5.2.7 安全命令
" T1 n' I- {0 g5.3 使用Thrift客户端访问HBase8 z9 T( B: s6 x f
5.3.1 Thrift与Thrift2区别! j2 b/ E/ o+ W
5.3.2 安装与部署Thrift25 E( B) P8 B' L& c( X
5.3.3 Python使用案例
/ _) A8 g3 S" \4 A5 _5.4 通过REST客户端访问HBase
0 x1 d9 G* j+ \+ b5.4.1 启动服务
: O. v; w" O* _2 b5 R) i8 u5.4.2 使用REST访问example表# Y _! v+ d' L) W# h, a* e
5.5 使用MapReduce批量操作HBase! }5 ]! Y2 n; [( O. }- E; i
5.5.1 三种访问模式+ e2 t/ b4 ~1 k7 W0 x* z! {# N
5.5.2 实现MapReduce API* e" H4 [- L! m* H0 n
5.5.3 HBase作为输入源示例9 i0 b8 ]6 Y% G9 G/ I: P3 X6 [
5.5.4 HBase作为输出源示例
6 _: r% X8 h0 }+ b. T5.5.5 HBase作为共享源示例8 D- |$ i! `( z" F& a9 R9 v0 v* Z0 r
5.6 通过Web UI工具查看HBase状态
0 Z+ T2 U' p6 p" i4 f5.6.1 Master状态界面! s2 u8 w* r9 q" E: \
5.6.2 RegionServer状态界面
9 s" s- S# L; u- \0 K6 ?; N$ s/ J' u5.6.3 ZooKeeper统计信息页面
& M3 d; _- R" m# v' t5.7 其他客户端- x$ E( M7 M# e2 L
5.8 本章小结
" x% e6 A( y; v第二部分 实战篇
+ r2 i* t3 {2 c3 [1 b% `第6章 整合SQL引擎层% s) G4 M9 S& s u0 P: P$ P
6.1 NoSQL背景知识
: d& A/ @7 y, V+ C6.1.1 什么是NoSQL
9 j, b4 D* P% a T1 H6.1.2 将SQL整合到HBase的原因
1 Y/ L! X5 m; z* U" Y1 m6.1.3 基于HBase的SQL引擎实现, j+ ]! g P# s7 s. \
6.2 Hive整合HBase的实现# t+ Q) a# P! _- c* A# E9 G
6.2.1 认识Hive$ c2 Q8 F: b$ O. U
6.2.2 Hive整合HBase的环境准备
8 I0 ^/ w% A T. A+ {5 ^6.2.3 Linux环境下重新编译Hive
( \5 K" W+ c/ q; {8 h/ y6.2.4 Hive参数配置' n B F0 M/ u& {
6.2.5 启动Hive
; V, n* f% V' R6 ?6.2.6 Hive与HBase整合后的框架如何使用& R. X! d2 L) i) u! w) n
6.2.7 HBase到Hive的字段映射% t: S1 z5 q$ w" h! |; y
6.2.8 多列与Hive Map类型- U, G, ^# ?7 D! Z! D9 f5 ^8 L
6.3 查询引擎Phoenix8 a) a5 k# L; i) `+ R r$ H
6.3.1 认识Phoenix) [& {3 z. a5 I2 } V5 m
6.3.2 Phoenix安装环境准备- i, A1 s! t. N! X* k; V
6.3.3 Phoenix安装部署
$ s8 N8 k! p3 Z6 ^6.3.4 Phoenix源码编译
8 J5 \8 ~1 B9 c# _, I, `6.3.5 Phoenix中SQLLine的快速使用
, _% r& T& u5 U) ~6.3.6 使用JDBC访问Phoenix
5 w5 s" ~: C/ j% @0 o6.4 对象映射框架Kundera; {) n; i* u' u
6.4.1 认识Kundera! b8 [0 u$ }, L
6.4.2 Kundera的客户端API快速使用
* i( G6 r- N; Q$ {6.4.3 Kundera模块介绍
E' O2 D+ s8 w* I q9 O9 A2 E3 i/ T6.4.4 Kundera的REST访问方式
0 q" E$ E0 _) W1 A' [6.5 分布式SQL引擎Lealone8 ~4 G' e# T/ [ U) P# d1 c5 ]
6.5.1 认识Lealone
- T4 T" h1 u1 P6.5.2 Lealone的安装部署! G. v" K8 ]; z, ~* `
6.5.3 通过JDBC访问Lealone
! m5 f5 R% R$ Q9 u. v6.5.4 通过Python访问Lealone8 p8 j8 M5 K1 U5 X
6.5.5 Lealone特有的建表语法
( O1 H4 E7 ?& j6.6 本章小结5 Q$ D; o3 m$ u* Q% g5 P
第7章 构建音乐站用户属性库
4 _ `1 z1 U! M7.1 案例背景2 U3 c. d4 I- X2 g7 f/ r, e+ @4 J
7.1.1 音乐站# S2 ]! i5 a% T4 M# [$ z4 y/ V
7.1.2 需求概述
! K" J5 x) p2 y" D* ~' X& M7.1.3 需求范围和系统边界- Y# z8 Y$ u2 P: u, L4 F
7.1.4 需求详述) o* v% y: m5 U6 P
7.1.5 名词解释
8 E5 P+ t3 _% {2 @* U! W. h6 x7.2 概要设计- n8 _. G6 H' Q: c, p' m4 e0 b/ _6 r! P2 x8 o
7.2.1 设计目标
- |# ^* a) P2 D/ e% L. E8 E7.2.2 数据规模假设2 w' ~& h9 o" J5 G$ u% z
7.2.3 功能指标# K1 P9 l+ m7 a9 K) Z: c
7.2.4 系统流程
6 O0 P8 R8 I0 M. _ h( J! J7.3 表结构设计6 s$ Y5 a; j- R# r" C( _! y
7.3.1 功能抽象
; R6 E. W/ M* N7.3.2 逻辑结构
7 W) P: c+ K! b) M$ K. O9 i7.3.3 Rowkey设计
/ Y9 B- b9 l, Y, ~7.3.4 列族设计
0 g) H" W y" b+ q% |/ d) H @7.3.5 版本定义
- Q% a: B5 S: U5 ~& X7.3.6 优化属性定义
3 ?: V+ j. n1 j7 D, y* F( e3 o7.4 数据加载
* O5 c# C$ g: {, `# C' b# x) l7.4.1 加载流程
( G2 o" z( z- S9 K+ H7 P! T) D P7.4.2 Mapper类4 U7 l- ` b* m3 u) A+ H
7.4.3 Main类
- ?# g. g# s* I+ G( \2 }7.4.4 运行
. \7 N3 [6 G0 [" C7.5 数据检索
/ x0 z3 x% n3 c: \; `( i7.5.1 HBaseTable4 W/ N1 c" @! `9 a x
7.5.2 HBaseAdmin
& y& f! D2 f. U5 H$ [7.5.3 几种检索类型
& P( R8 N) ^/ P6 ~9 g0 I/ |- c7.6 后台查询0 t6 Q: q( G7 u/ R# X' T
7.6.1 二级索引实现+ F3 H2 z9 L, x
7.6.2 后台查询系统
, Z8 j3 h. O" T% m( t7.7 本章小结
/ {2 K# a3 {. ~: [- s5 {9 M第8章 构建广告实时计算系统
' @. A- c. ^; @% W8.1 理解广告数据和流处理框架
& I; I1 \3 y; p5 N3 F# r8.1.1 网络广告的几大特性
4 J9 z% { |) B! `3 H- r8.1.2 网络广告的数据类型1 r, f) } Y" t4 t" H
8.1.3 流处理框架( K& S* y o1 g
8.1.4 背景与需求描述
1 M. ~' y* _( k0 C8.2 概要设计
b# s u. i( f& L8.2.1 设计目标0 x/ L2 n# P9 ]5 n+ ^* L! u
8.2.2 主要功能
5 z1 J5 O# N; o9 f J8.2.3 系统架构
- n, J# Z( A! R: U& n+ o8.3 详细设计
, |0 P2 U' x: M/ ?8.3.1 表结构设计
u" G$ n% t/ x9 D$ W8.3.2 功能模块设计1 O: d# _2 O2 p4 U( H
8.4 核心功能实现
; }. ?# T" W8 K( r6 d7 Z* ?, ~8.4.1 规划集群环境部署3 S4 P! h* s& }. |/ X u
8.4.2 安装ZooKeeper集群
$ g2 e+ d: |# y# K0 m+ u8 i) |8.4.3 安装Kafka分布式集群
& d( }5 Z' k( V- `+ @8.4.4 实现Kafka生产者
6 [* k |) B9 b* q+ a( F, [( I; ^8.4.5 安装Storm分布式集群. r( V+ N) l, {$ S2 m( ^6 A- E y
8.4.6 查看集群节点部署情况2 H! N% W8 @9 f8 a A9 A. _; c+ x
8.4.7 基于Storm-kafka中间件实现计算逻辑2 I% {9 D% V; t4 K" c
8.4.8 如何使用HBase中统计数据( H4 w2 N$ e% [! p/ N& S, ]
8.5 本章小结
/ k. d1 q/ ^: u/ K) o) v第三部分 高级篇
2 F# @, N) y; c# c7 v第9章 核心概念
- ?3 |1 H f1 \. Q9 f6 f- w' H9.1 核心结构$ m. u# @: }' U* M& M0 w/ H7 I
9.1.1 B+树
3 s" S0 }& Q0 B q8 V9.1.2 LSM树
, Q2 l% O! W+ V2 ]) x2 P9.1.3 两种结构本质区别. h# n- Y/ T1 J
9.2 底层持久化
2 x, E) G( _6 [ |8 q \9.2.1 存储基本架构. W2 {& ?3 u6 _, O$ j7 o
9.2.2 HDFS文件
% F* d- s. X3 H& j E! N% h: E9.2.3 Region切分) i z7 U1 h. c' o! `- e, |
9.2.4 合并9 Z* a1 ^/ X; q6 c+ j
9.2.5 HFile格式3 s4 `; n1 A9 `
9.2.6 KeyValue格式
+ I6 p9 d. {8 X% H+ d* H9.3 预写日志
% B4 p: }6 ^7 R, y9.3.1 概要流程9 w [& c, k" z0 z& a" J/ ?1 j5 Q
9.3.2 相关Java类
' H% c& D+ I, Q# i4 M( Y9.3.3 日志回放3 `! D' T2 O: \ a) @0 a" M
9.3.4 日志一致性9 K2 Z+ n/ p. L# F. @/ n1 `
9.4 写入流程# D* ]0 @! ]: ~
9.4.1 客户端' v9 s: `2 J' f5 k7 Q2 G
9.4.2 服务器端+ R3 U+ ]; q& \ d; [6 A: z3 N2 v) T1 s, Z
9.5 查询流程% e% x& Y% E, x3 j# j6 W
9.5.1 两种查询操作" `& ` ^1 F9 U/ q& J
9.5.2 客户端
9 m) E# M- F' k! m% H9.5.3 服务器端0 |. e+ @1 {* u2 P
9.6 数据备份
3 P/ _ X4 v" L J9.6.1 备份机制架构. ]2 a( J7 d1 \) t, v) [
9.6.2 故障恢复
. q2 u, C1 Q+ Q* \6 R- n9.7 数据压缩2 F( {6 Z4 } Z
9.7.1 支持的压缩算法
M" J% m/ \! G* w9.7.2 使用配置( C$ c, U0 U0 Y# `7 T8 X+ W6 v t
9.8 本章小结8 s5 m4 U/ K( j# F" R& L) {5 r
第10章 HBase高级特性' S8 P, a. n6 C/ \! |/ U! [0 l
10.1 过滤器1 T/ H& ~' U' b5 ?. J0 x/ j
10.1.1 过滤器的两类参数
% Z1 z7 u V+ n' U+ v$ L+ \10.1.2 比较器
' o8 j! l# D" R; G# p, A$ H10.1.3 列值过滤器7 {6 C4 s4 k m# E8 K; K
10.1.4 键值元数据过滤器* Z; w+ K3 x5 {, E; ~5 H
10.1.5 行键过滤器5 \, c0 |* d ~8 W
10.1.6 功能过滤器$ ?/ ]" R# [7 S7 z# D
10.1.7 Thrift使用过滤器
0 @/ `" U0 r8 R9 t& v0 D3 h/ E" R10.1.8 过滤器总结; f) F$ |7 J- R0 r; }
10.2 计数器6 }( h8 g' ~/ v; L: {0 v
10.2.1 使用Shell操作计数器# X, U G) V/ {" B0 k( M& s; L
10.2.2 基于单列的计数器7 B; o0 v# R# ~
10.2.3 多列计数器0 r9 T& R9 k% ?. m7 G7 x
10.3 协处理器% S+ L6 O s% p' M9 K0 e( y! E1 G
10.3.1 认识协处理器
. m% S5 b6 b6 o9 \10.3.2 观察者Observer
' [9 t3 J, e$ Z: _9 |9 P; n c10.3.3 终端EndPoint
+ U4 p, m. T7 S$ W7 \, O1 O# N10.3.4 协处理器部署
9 b. I# q" s. L& d! B# C# J10.4 Schema设计要点5 ?0 V: j4 V0 P1 e5 ?
10.4.1 行键设计8 m2 l& Z6 O0 f* Q3 Q5 b) D+ u( P
10.4.2 列族设计
7 M: n x& a b ~6 J# Q1 P10.5 二级索引8 M2 ~* W. r* |- v0 I
10.5.1 Client-managed方式) U# o, O4 x! w$ `
10.5.2 ITHBase实现
" ?: h/ h! t0 V$ C% S `10.5.3 IHBase实现! b- E* S) X% T* h6 _
10.5.4 Coprocessor方式' O/ f' y5 t J3 F4 F7 D- F8 \
10.5.5 MapReduce两种方式
* j4 s [& ~+ g0 W10.6 布隆过滤器" [5 C9 T1 y; ~
10.6.1 基本概念
: m7 s6 }1 `0 a( u7 Z10.6.2 配置布隆过滤器
& z6 y# h; u3 l9 Y- X10.6.3 使用布隆过滤器
, y3 T) y2 W; A* k0 w" @9 P/ g10.7 负载均衡7 ^7 u2 h6 c6 I w
10.7.1 全局计划8 m: O* m( W7 j+ _1 x4 @( J ^
10.7.2 随机分配计划; Z% N" N# L+ R
10.7.3 批量启动分配计划
2 R$ K0 L1 D, U8 R$ y10.7.4 通过Shell控制负载均衡+ D9 }! I# h* D) ?. e8 A
10.8 批量加载 Q. I. c3 ]9 C4 c/ H0 U
10.8.1 准备数据:importtsv+ G; J8 t0 v3 D
10.8.2 加载数据:completebulkload
& p+ b" b. p8 ?7 l! {0 q10.9 本章小结
9 f o. h# j. }- Z第11章 集群运维管理5 T5 h& w) Z7 B+ z' E; t1 t8 V
11.1 HBase常用工具; y i! m2 l0 {: h& n) p9 b% t
11.1.1 文件检测修复工具hbck ]# E" f) ?0 ~! t6 f% Y
11.1.2 文件查看工具hfile
# [1 g# J0 [3 y ?8 a H11.1.3 WAL日志查看工具hlog
( j* H$ t) K+ j/ v# g$ H5 s% g11.1.4 压缩测试工具CompressionTest* D, S0 l* d& T6 ?. D& N
11.1.5 数据迁移工具CopyTable
- f+ C Y7 T# E- L11.1.6 导出工具export
1 r- i7 s" n9 M11.1.7 导入工具Import
8 `% A# }/ r; ^8 [' m& _11.1.8 日志回放工具WALPlayer$ }# f3 E' V' x, x0 ^; H) {- x) S
11.1.9 行数统计工具RowCounter
6 j' l0 q2 c1 ` @11.2 Region和RegionServer管理% y9 h8 r8 z1 p& ~
11.2.1 大合并工具major_compact/ G4 d' w- `4 E
11.2.2 Region合并工具Merge
2 @0 ?3 `. _3 \$ O" }7 V) g11.2.3 下线节点8 h8 ]8 C; `9 W9 H' j% ^
11.2.4 滚动重启3 I7 l% { W! i1 o1 q
11.3 性能指标Metrics# ^7 s- g; o3 y4 L
11.3.1 Master Metrics
# W9 R2 S' O- X+ s11.3.2 RegionServer Metrics2 L2 \" N# _: N
11.3.3 RPC Metrics
; U1 F x" J @, W& \- |11.3.4 JVM Metrics) u3 z$ u9 ~4 C" @6 q
11.3.5 集群属性Metrics) n, M/ y- i% p" X1 N
11.4 监控系统Ganglia4 X) p, b6 b0 y7 E
11.4.1 HBase监控指标
" N, w2 [* F8 j5 w2 g; G11.4.2 安装、部署和使用Ganglia
$ f# J" L. C' |- @9 L b$ A+ d _11.5 HBase管理扩展JMX5 f7 @, h2 }/ j5 p2 j! a
11.5.1 如何使用JMX
! D' I0 u7 s; {1 t. K11.5.2 基于JMX的监控工具Ella$ `, {/ Q1 Y8 D! g0 k2 `9 h
11.6 报警工具Nagios
. b& C# ~0 h2 v7 Q& O11.7 故障处理
3 `: [7 ~2 u2 y- V11.7.1 问题咨询渠道
d( z& p! x$ J" C11.7.2 常用日志信息& ]8 Y2 |" b2 t
11.7.3 常用故障调试工具
P& k w! I4 X; P" Z" d" P! X11.7.4 客户端故障排查
9 s) O1 y# I) B" o$ w" w( s11.7.5 MapReduce故障排查9 h9 y& u1 z: C$ D& s
11.7.6 网络故障排查
3 ]9 p4 g- x8 s+ V0 D11.7.7 RegionServer相关问题解决 f- V6 p$ a V4 {' H. k
11.7.8 Master相关问题解决0 D* X: T* O1 a+ O' ?$ a/ C) J
11.7.9 ZooKeeper相关问题解决
, k( O: u4 s6 s# j. L9 k. Y11.8 集群备份: x1 Q8 _1 t4 \% l& C
11.8.1 冷备份
) f" k+ k5 g; |% h& E11.8.2 热备份之Replication' V6 ^* Z$ b% u/ G! \: l
11.8.3 热备份之CopyTable/ `/ I# N, P7 Z! E& K
11.8.4 热备份之Export
9 E4 T( c5 r$ c11.9 本章小结0 S, d2 _- U' F5 q/ _1 j" E" d
第12章 性能调优
; L+ i8 O/ Z# G/ }! ^12.1 硬件和操作系统调优
% Q' h% T1 @, y' b12.1.1 配置内存2 q- H7 T) k) T; K$ z
12.1.2 配置CPU
5 o. L7 r" ]' ]4 X12.1.3 操作系统7 R- r Y( C3 t1 A" t0 G1 y
12.2 网络通信调优5 L- g7 [; [$ v2 M1 ?. z* C
12.2.1 配置交换机
% @; B# l$ M/ ?. S$ x0 F12.2.2 添加机架感知6 O1 w, a9 l0 i4 n0 r1 g
12.3 JVM优化7 B3 f4 _- G( A6 ]) o0 T7 l
12.3.1 Java垃圾回收算法
9 ^7 B1 P% |1 ]5 p8 M12.3.2 Java垃圾收集器
4 ~% c) t% u0 g' a2 x12.3.3 垃圾回收器的选择
: K! T- [, M/ A9 `9 u) e12.3.4 JVM参数设置( A" f: L; h ^/ @& E" @! R
12.4 HBase查询优化
: Z1 I9 U4 u/ I5 X; Y7 D/ Z- K12.4.1 设置Scan缓存! y2 B# ], I1 ]! w
12.4.2 显式地指定列; q/ g; w* ~" V- t
12.4.3 关闭ResultScanner
% w( Q4 U8 a R+ d) s12.4.4 禁用块缓存
: u# l5 e( L* y) z12.4.5 优化行键查询
8 Q' @$ y3 s' m! i" `9 g; m12.4.6 通过HTableTool访问
: {9 ^/ m" w. |/ H: J f- ]6 d12.4.7 使用批量读+ K' }) w1 X5 e$ \$ d0 s
12.4.8 使用Filter降低客户端压力. H# t, E& W5 n
12.4.9 使用Coprocessor统计行数
4 ^) Q$ G/ w# b6 O) S& n- R0 Z12.4.10 缓存查询结果! a4 ?( N' V! U
12.5 HBase写入优化
! v5 p! s. c# ^1 a+ X. \12.5.1 关闭写WAL日志
1 A/ V, r9 I. z8 j3 a( A! [/ {12.5.2 设置AutoFlush. X0 c7 S9 Q$ i3 c
12.5.3 预创建Region
5 M* w* C& ]) O2 ^6 R. P: g12.5.4 延迟日志flush
4 `9 c! `5 Z0 D( o; \ h& Z) [12.5.5 通过HTableTool访问
; X+ a5 b/ P" }0 A12.5.6 使用批量写
0 D) h( k7 P) H12.6 HBase基本核心服务优化% j6 V9 b5 j z0 f( |2 h
12.6.1 优化分裂操作
3 Z- G* ^ |+ A6 U: _) ?8 D+ ~, ^) G12.6.2 优化合并操作6 B; x7 J( V: ]# ]
12.7 HBase配置参数优化
) W- k7 _- k# D' m12.7.1 设置RegionServer Handler数量! i) q0 K# p! N! E$ j
12.7.2 调整BlockCache大小 k/ K- Q/ Z. V
12.7.3 设置MemStore的上下限: Q, O- }3 @* }2 t4 _
12.7.4 调整影响合并的文件数' Q8 \& _+ Q- `/ Y+ |
12.7.5 调整MemStore的flush因子
6 E- `. E2 C( W2 _5 t G8 t1 ` x12.7.6 调整单个文件大小
+ D* a4 _5 R2 }* y5 i T2 `# ]" B' M12.7.7 调整ZooKeeper Session的有效时长
& c/ q7 ]2 e7 {$ q, u) B; P12.8 分布式协调系统ZooKeeper优化
4 l( `7 U |# H4 c7 d1 T$ t12.8.1 配置ZooKeeper节点数) Y" J# P" Q* s7 R/ o# y# Z" p1 \$ c
12.8.2 独立ZooKeeper集群6 ]: `! [) N+ d y
12.9 表设计优化
- N2 j5 m9 m3 z$ k' t12.9.1 开启布隆过滤器
7 T# u! a$ b8 x+ c2 \12.9.2 调整列族块大小% ^( y) {% v$ h" P- _
12.9.3 设置In Memory属性
! S+ E. X) k6 h$ Y2 l* G. G12.9.4 调整列族最大版本数8 {' c% V z1 [/ |) s
1 N }' y7 k z$ S/ i) q电子书优惠获取地址:《HBase企业应用开发实战》
8 I/ s3 c! e7 Q6 @- W% f4 {: N# |" _! s" b* M/ o5 v
|
|