Foreword |
|
xi | |
Preface |
|
xiii | |
Part I. Introduction to HBase |
|
|
|
3 | (4) |
|
Column-Oriented Versus Row-Oriented |
|
|
5 | (1) |
|
Implementation and Use Cases |
|
|
5 | (2) |
|
|
7 | (18) |
|
|
7 | (8) |
|
|
8 | (1) |
|
|
9 | (6) |
|
Internal Table Operations |
|
|
15 | (4) |
|
|
15 | (2) |
|
|
17 | (2) |
|
|
19 | (1) |
|
|
19 | (1) |
|
|
20 | (5) |
|
|
21 | (1) |
|
|
21 | (1) |
|
|
22 | (1) |
|
|
22 | (3) |
|
|
25 | (14) |
|
|
25 | (8) |
|
|
26 | (2) |
|
|
28 | (4) |
|
|
32 | (1) |
|
|
33 | (2) |
|
|
33 | (1) |
|
|
33 | (1) |
|
|
34 | (1) |
|
Honorable Mentions (Kylin, Themis, Tephra, Hive, and Impala) |
|
|
34 | (1) |
|
|
35 | (4) |
|
|
35 | (1) |
|
|
36 | (1) |
|
|
37 | (1) |
|
|
37 | (2) |
|
4 HBase Sizing and Tuning Overview |
|
|
39 | (10) |
|
|
40 | (1) |
|
|
40 | (1) |
|
|
41 | (1) |
|
|
42 | (1) |
|
|
43 | (1) |
|
|
44 | (2) |
|
Different Workload Tuning |
|
|
46 | (3) |
|
|
49 | (24) |
|
|
50 | (3) |
|
|
50 | (1) |
|
|
50 | (2) |
|
|
52 | (1) |
|
|
53 | (1) |
|
HBase Standalone Installation |
|
|
53 | (3) |
|
|
56 | (1) |
|
|
57 | (2) |
|
|
57 | (1) |
|
Virtual Linux Environment |
|
|
58 | (1) |
|
QuickStart VM (or Equivalent) |
|
|
58 | (1) |
|
|
59 | (2) |
|
|
59 | (1) |
|
Access to the /tmp Folder |
|
|
59 | (1) |
|
|
59 | (1) |
|
|
60 | (1) |
|
|
61 | (7) |
|
|
61 | (1) |
|
|
62 | (4) |
|
|
66 | (2) |
|
Pseudodistributed and Fully Distributed |
|
|
68 | (5) |
Part II. Use Cases |
|
|
6 Use Case: HBase as a System of Record |
|
|
73 | (10) |
|
|
74 | (1) |
|
|
75 | (4) |
|
|
79 | (4) |
|
7 Implementation of an Underlying Storage Engine |
|
|
83 | (24) |
|
|
83 | (5) |
|
|
84 | (1) |
|
|
85 | (2) |
|
|
87 | (1) |
|
|
88 | (6) |
|
|
88 | (1) |
|
|
89 | (1) |
|
Implement MapReduce Transformation |
|
|
89 | (5) |
|
|
94 | (1) |
|
|
95 | (1) |
|
|
96 | (4) |
|
|
97 | (1) |
|
|
98 | (2) |
|
|
100 | (4) |
|
|
104 | (1) |
|
|
105 | (2) |
|
8 Use Case: Near Real-Time Event Processing |
|
|
107 | (8) |
|
|
110 | (1) |
|
Near Real-Time Event Processing |
|
|
111 | (1) |
|
|
112 | (3) |
|
9 Implementation of Near Real-Time Event Processing |
|
|
115 | (26) |
|
|
117 | (4) |
|
|
117 | (1) |
|
|
118 | (1) |
|
|
118 | (2) |
|
|
120 | (1) |
|
|
120 | (1) |
|
|
121 | (19) |
|
|
121 | (1) |
|
|
122 | (1) |
|
|
123 | (7) |
|
|
130 | (4) |
|
|
134 | (2) |
|
|
136 | (2) |
|
|
138 | (1) |
|
|
139 | (1) |
|
|
140 | (1) |
|
10 Use Case: HBase as a Master Data Management Tool |
|
|
141 | (6) |
|
|
142 | (1) |
|
|
143 | (4) |
|
11 Implementation of HBase as a Master Data Management Tool |
|
|
147 | (14) |
|
|
147 | (1) |
|
Get Spark Interacting with HBase |
|
|
148 | (1) |
|
Run Spark over an HBase Table |
|
|
148 | (1) |
|
|
148 | (1) |
|
Implementing Spark with HBase |
|
|
149 | (11) |
|
|
150 | (4) |
|
Spark on HBase: Bulk Load |
|
|
154 | (2) |
|
|
156 | (4) |
|
|
160 | (1) |
|
12 Use Case: Document Store |
|
|
161 | (6) |
|
|
163 | (1) |
|
|
164 | (2) |
|
|
166 | (1) |
|
13 Implementation of Document Store |
|
|
167 | (10) |
|
|
167 | (5) |
|
|
169 | (1) |
|
|
170 | (1) |
|
|
170 | (2) |
|
|
172 | (1) |
|
|
173 | (4) |
Part III. Troubleshooting |
|
|
|
177 | (14) |
|
|
177 | (1) |
|
|
178 | (1) |
|
|
178 | (1) |
|
|
179 | (1) |
|
|
179 | (8) |
|
|
179 | (6) |
|
|
185 | (2) |
|
|
187 | (4) |
|
|
187 | (2) |
|
|
189 | (2) |
|
15 Too Many Column Families |
|
|
191 | (6) |
|
|
192 | (1) |
|
|
192 | (1) |
|
|
193 | (1) |
|
|
193 | (1) |
|
Causes, Solution, and Prevention |
|
|
193 | (4) |
|
|
194 | (1) |
|
|
194 | (2) |
|
Separate a Column Family into a New Table |
|
|
196 | (1) |
|
|
197 | (6) |
|
|
197 | (1) |
|
|
198 | (2) |
|
Monotonically Incrementing Keys |
|
|
198 | (1) |
|
|
198 | (1) |
|
|
199 | (1) |
|
|
200 | (1) |
|
|
200 | (1) |
|
|
200 | (3) |
|
17 Timeouts and Garbage Collection |
|
|
203 | (10) |
|
|
203 | (3) |
|
|
206 | (1) |
|
|
206 | (1) |
|
|
206 | (1) |
|
|
207 | (1) |
|
|
207 | (1) |
|
|
207 | (6) |
|
|
208 | (1) |
|
|
208 | (1) |
|
|
209 | (1) |
|
Configure Swappiness to 0 or 1 |
|
|
210 | (1) |
|
Disable Environment-Friendly Features |
|
|
211 | (1) |
|
|
211 | (2) |
|
18 HBCK and Inconsistencies |
|
|
213 | (10) |
|
|
213 | (1) |
|
|
214 | (1) |
|
|
215 | (2) |
|
|
217 | (1) |
|
|
218 | (5) |
Index |
|
223 | |