-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathatom.xml
More file actions
410 lines (410 loc) · 27.4 KB
/
Copy pathatom.xml
File metadata and controls
410 lines (410 loc) · 27.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<author>
<name>magicliang</name>
</author>
<generator uri="https://hexo.io/">Hexo</generator>
<id>https://magicliang.github.io/</id>
<link href="https://magicliang.github.io/" rel="alternate"/>
<link href="https://magicliang.github.io/atom.xml" rel="self"/>
<rights>All rights reserved 2026, magicliang</rights>
<subtitle>一切都是守株待兔,如切如磋,如琢如磨。I am just joking.</subtitle>
<title>守株阁</title>
<updated>2026-08-30T06:54:31.393Z</updated>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="HBase 3.0" scheme="https://magicliang.github.io/tags/HBase-3-0/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-19-HBase-3-0-%E4%B8%8E%E8%AE%BE%E8%AE%A1%E8%BE%B9%E7%95%8C/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-19-HBase-3-0-%E4%B8%8E%E8%AE%BE%E8%AE%A1%E8%BE%B9%E7%95%8C/"/>
<published>2026-08-29T02:19:00.000Z</published>
<summary>
<![CDATA[<p>HBase 3.0.0 是大版本升级,不应被写成 2.6 的小补丁。官方下载页显示 3.0.0 发布于 2026-08-05,同时 2.6.6 发布于 2026-06-09,2.5.15 被标为 stable release。基础机制仍可用 2.6.6 解释,但 3.0]]>
</summary>
<title>深入 HBase 19 - HBase 3.0 与设计边界</title>
<updated>2026-08-30T06:54:31.393Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="Metrics" scheme="https://magicliang.github.io/tags/Metrics/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="Compaction" scheme="https://magicliang.github.io/tags/Compaction/"/>
<category term="hbtop" scheme="https://magicliang.github.io/tags/hbtop/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-18-Metrics-hbtop-Compaction-%E4%B8%8E%E6%80%A7%E8%83%BD%E8%B0%83%E4%BC%98/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-18-Metrics-hbtop-Compaction-%E4%B8%8E%E6%80%A7%E8%83%BD%E8%B0%83%E4%BC%98/"/>
<published>2026-08-29T02:18:00.000Z</published>
<summary>
<![CDATA[<p>HBase 性能问题很少只由一个参数造成。热点 Region、StoreFile 过多、compaction backlog、BlockCache 命中率下降、GC 停顿、HDFS locality]]>
</summary>
<title>深入 HBase 18 - Metrics、hbtop、Compaction 与性能调优</title>
<updated>2026-08-30T06:54:31.393Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="安全" scheme="https://magicliang.github.io/tags/%E5%AE%89%E5%85%A8/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-17-Kerberos-RPC-%E4%BF%9D%E6%8A%A4%E4%B8%8E-ACL/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-17-Kerberos-RPC-%E4%BF%9D%E6%8A%A4%E4%B8%8E-ACL/"/>
<published>2026-08-29T02:17:00.000Z</published>
<summary>
<![CDATA[<p>HBase 安全不是一个开关。Kerberos 解决身份认证,RPC protection 解决传输层保护,ACL 解决 HBase 资源授权,HDFS 和 ZooKeeper]]>
</summary>
<title>深入 HBase 17 - Kerberos、RPC 保护与 ACL</title>
<updated>2026-08-30T06:54:31.393Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="Coprocessor" scheme="https://magicliang.github.io/tags/Coprocessor/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-16-Coprocessor-Endpoint-%E4%B8%8E-Phoenix-%E8%BE%B9%E7%95%8C/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-16-Coprocessor-Endpoint-%E4%B8%8E-Phoenix-%E8%BE%B9%E7%95%8C/"/>
<published>2026-08-29T02:16:00.000Z</published>
<summary>
<![CDATA[<p>Coprocessor 把一部分逻辑放进 HBase 服务端进程执行。这个能力很强,也很危险:代码和 RegionServer 在同一个 JVM、同一套权限、同一条请求路径里运行。Endpoint 能做局部聚合和自定义 RPC,但它不是分布式 SQL 引擎;Phoenix]]>
</summary>
<title>深入 HBase 16 - Coprocessor、Endpoint 与 Phoenix 边界</title>
<updated>2026-08-30T06:54:31.392Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="LSM-Tree" scheme="https://magicliang.github.io/tags/LSM-Tree/"/>
<category term="HFile" scheme="https://magicliang.github.io/tags/HFile/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-15-BufferedMutator-%E4%B8%8E-Bulk-Load/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-15-BufferedMutator-%E4%B8%8E-Bulk-Load/"/>
<published>2026-08-29T02:15:00.000Z</published>
<summary>
<![CDATA[<p>在线批量写和 Bulk Load 解决的是同一个输入问题:大量记录要进入同一张 HBase 表。二者的成本模型完全不同。<code>BufferedMutator</code> 仍然走 RegionServer 写入协议,写入进入 WAL、MemStore、flush 和]]>
</summary>
<title>深入 HBase 15 - BufferedMutator 与 Bulk Load</title>
<updated>2026-08-30T06:54:31.392Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="Scan" scheme="https://magicliang.github.io/tags/Scan/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-14-Get-Scan-Filter-%E4%B8%8E%E5%88%86%E9%A1%B5/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-14-Get-Scan-Filter-%E4%B8%8E%E5%88%86%E9%A1%B5/"/>
<published>2026-08-29T02:14:00.000Z</published>
<summary>
<![CDATA[<h2 id="前置问题与边界">前置问题与边界</h2>
<p>HBase 的读请求不是“把表读出来再过滤”。<code>Get</code> 直接定位单行;<code>Scan</code> 按 row-key range 顺序推进;<code>Filter</code>]]>
</summary>
<title>深入 HBase 14 - Get、Scan、Filter 与分页</title>
<updated>2026-08-30T06:54:31.392Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="Snapshot" scheme="https://magicliang.github.io/tags/Snapshot/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-13-Snapshot-Backup-%E4%B8%8E%E6%81%A2%E5%A4%8D/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-13-Snapshot-Backup-%E4%B8%8E%E6%81%A2%E5%A4%8D/"/>
<published>2026-08-29T02:13:00.000Z</published>
<summary>
<![CDATA[<h2 id="前置问题与边界">前置问题与边界</h2>
<p>HBase Snapshot 接近一次元数据操作,因为它主要记录某个时刻表的 Region、StoreFile 引用和相关描述,而不是把整张表的数据复制一遍。HFile 是不可变文件,这让 snapshot]]>
</summary>
<title>深入 HBase 13 - Snapshot、Backup 与恢复</title>
<updated>2026-08-30T06:54:31.392Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="Replication" scheme="https://magicliang.github.io/tags/Replication/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-12-%E8%B7%A8%E9%9B%86%E7%BE%A4-Replication/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-12-%E8%B7%A8%E9%9B%86%E7%BE%A4-Replication/"/>
<published>2026-08-29T02:12:00.000Z</published>
<summary>
<![CDATA[<h2 id="前置问题与边界">前置问题与边界</h2>
<p>HBase 跨集群 Replication 复制的是 WAL edit。源集群的 RegionServer 把符合条件的 edit 放入复制队列,由 replication source 推送到 peer]]>
</summary>
<title>深入 HBase 12 - 跨集群 Replication</title>
<updated>2026-08-30T06:54:31.392Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="Region" scheme="https://magicliang.github.io/tags/Region/"/>
<category term="WAL" scheme="https://magicliang.github.io/tags/WAL/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-11-RegionServer-%E5%B4%A9%E6%BA%83%E4%B8%8E-WAL-%E6%81%A2%E5%A4%8D/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-11-RegionServer-%E5%B4%A9%E6%BA%83%E4%B8%8E-WAL-%E6%81%A2%E5%A4%8D/"/>
<published>2026-08-29T02:11:00.000Z</published>
<summary>
<![CDATA[<h2 id="前置问题与边界">前置问题与边界</h2>
<p>RegionServer 崩溃以后,HBase 要恢复的是由该 RegionServer 服务的 Region,而不是让 HDFS 自动懂得数据库事务。HDFS 负责保存 WAL 和 HFile;HBase 通过]]>
</summary>
<title>深入 HBase 11 - RegionServer 崩溃与 WAL 恢复</title>
<updated>2026-08-30T06:54:31.392Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="MVCC" scheme="https://magicliang.github.io/tags/MVCC/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-10-%E8%A1%8C%E7%BA%A7%E5%8E%9F%E5%AD%90%E6%80%A7%E4%B8%8E%E4%B8%80%E8%87%B4%E6%80%A7%E8%BE%B9%E7%95%8C/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-10-%E8%A1%8C%E7%BA%A7%E5%8E%9F%E5%AD%90%E6%80%A7%E4%B8%8E%E4%B8%80%E8%87%B4%E6%80%A7%E8%BE%B9%E7%95%8C/"/>
<published>2026-08-29T02:10:00.000Z</published>
<summary>
<![CDATA[<h2 id="前置问题与边界">前置问题与边界</h2>
<p>HBase 的一致性边界从 row key]]>
</summary>
<title>深入 HBase 10 - 行级原子性与一致性边界</title>
<updated>2026-08-30T06:54:31.391Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="Region" scheme="https://magicliang.github.io/tags/Region/"/>
<category term="hbase:meta" scheme="https://magicliang.github.io/tags/hbase-meta/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-09-Client-%E8%B7%AF%E7%94%B1%E4%B8%8E%E9%87%8D%E8%AF%95/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-09-Client-%E8%B7%AF%E7%94%B1%E4%B8%8E%E9%87%8D%E8%AF%95/"/>
<published>2026-08-29T02:09:00.000Z</published>
<summary>
<![CDATA[<h2 id="前置问题与边界">前置问题与边界</h2>
<p>本篇回答一个核心问题:Client 如何缓存 <code>hbase:meta</code> 路由,Region 移动后怎样重新定位。</p>
<p>HBase Client 不是把请求发给 Master 再由]]>
</summary>
<title>深入 HBase 09 - Client 路由与重试</title>
<updated>2026-08-30T06:54:31.391Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="Region" scheme="https://magicliang.github.io/tags/Region/"/>
<category term="hbase:meta" scheme="https://magicliang.github.io/tags/hbase-meta/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-08-Region-%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F-split-merge-%E4%B8%8E-assignment/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-08-Region-%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F-split-merge-%E4%B8%8E-assignment/"/>
<published>2026-08-29T02:08:00.000Z</published>
<summary>
<![CDATA[<h2 id="前置问题与边界">前置问题与边界</h2>
<p>本篇回答一个核心问题:表如何扩展,Region 如何迁移,状态由谁推进。</p>
<p>Region 是 HBase 表按 row-key range 切分后的服务单位。它决定数据由哪个 RegionServer]]>
</summary>
<title>深入 HBase 08 - Region 生命周期:split、merge 与 assignment</title>
<updated>2026-08-30T06:54:31.391Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="LSM-Tree" scheme="https://magicliang.github.io/tags/LSM-Tree/"/>
<category term="Compaction" scheme="https://magicliang.github.io/tags/Compaction/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-07-Compaction-TTL-%E7%89%88%E6%9C%AC%E4%B8%8E-Delete/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-07-Compaction-TTL-%E7%89%88%E6%9C%AC%E4%B8%8E-Delete/"/>
<published>2026-08-29T02:07:00.000Z</published>
<summary>
<![CDATA[<h2 id="前置问题与边界">前置问题与边界</h2>
<p>本篇回答一个核心问题:不可变 HFile 如何合并,旧值和 tombstone 何时真正消失。</p>
<p>HBase 的写入路径把 mutation 写入 WAL 和 MemStore,flush 后形成新的]]>
</summary>
<title>深入 HBase 07 - Compaction、TTL、版本与 Delete</title>
<updated>2026-08-30T06:54:31.391Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="LSM-Tree" scheme="https://magicliang.github.io/tags/LSM-Tree/"/>
<category term="HFile" scheme="https://magicliang.github.io/tags/HFile/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-06-HFile-%E5%86%85%E9%83%A8%E7%BB%93%E6%9E%84/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-06-HFile-%E5%86%85%E9%83%A8%E7%BB%93%E6%9E%84/"/>
<published>2026-08-29T02:06:00.000Z</published>
<summary>
<![CDATA[<h2 id="前置问题与边界">前置问题与边界</h2>
<p>本篇回答一个核心问题:data block、index、file info、Bloom metadata 如何支持 HBase 在不可变文件里做有序查找。</p>
<p>HFile 是 HBase flush 和]]>
</summary>
<title>深入 HBase 06 - HFile 内部结构</title>
<updated>2026-08-30T06:54:31.391Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="BlockCache" scheme="https://magicliang.github.io/tags/BlockCache/"/>
<category term="HFile" scheme="https://magicliang.github.io/tags/HFile/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-05-%E8%AF%BB%E5%8F%96%E8%B7%AF%E5%BE%84-BlockCache-Bloom-Filter-%E4%B8%8E-HFile-block/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-05-%E8%AF%BB%E5%8F%96%E8%B7%AF%E5%BE%84-BlockCache-Bloom-Filter-%E4%B8%8E-HFile-block/"/>
<published>2026-08-29T02:05:00.000Z</published>
<summary>
<![CDATA[<h2 id="前置问题与边界">前置问题与边界</h2>
<p>本篇回答一个核心问题:<code>Get</code> 如何减少磁盘读取,并把 MemStore、BlockCache 与多个 HFile 的结果合成同一行的可见 Cell。</p>
<p>HBase 读路径不是]]>
</summary>
<title>深入 HBase 05 - 读取路径:BlockCache、Bloom Filter 与 HFile block</title>
<updated>2026-08-30T06:54:31.390Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="WAL" scheme="https://magicliang.github.io/tags/WAL/"/>
<category term="MemStore" scheme="https://magicliang.github.io/tags/MemStore/"/>
<category term="MVCC" scheme="https://magicliang.github.io/tags/MVCC/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-04-%E5%86%99%E5%85%A5%E8%B7%AF%E5%BE%84-WAL-MVCC-MemStore-%E4%B8%8E-flush/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-04-%E5%86%99%E5%85%A5%E8%B7%AF%E5%BE%84-WAL-MVCC-MemStore-%E4%B8%8E-flush/"/>
<published>2026-08-29T02:04:00.000Z</published>
<summary>
<![CDATA[<h2 id="前置问题与边界">前置问题与边界</h2>
<p>一次 <code>Put</code> 从客户端发出后,不会直接变成 HFile。HBase 写路径先把 mutation 交给目标 RegionServer,在 Region]]>
</summary>
<title>深入 HBase 04 - 写入路径:WAL、MVCC、MemStore 与 flush</title>
<updated>2026-08-30T06:54:31.390Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="RowKey" scheme="https://magicliang.github.io/tags/RowKey/"/>
<category term="Schema" scheme="https://magicliang.github.io/tags/Schema/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-03-Schema-%E4%B8%8E-row-key-%E8%AE%BE%E8%AE%A1/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-03-Schema-%E4%B8%8E-row-key-%E8%AE%BE%E8%AE%A1/"/>
<published>2026-08-29T02:03:00.000Z</published>
<summary>
<![CDATA[<h2 id="前置问题与边界">前置问题与边界</h2>
<p>HBase schema 设计首先是 row key 设计,其次才是 column family 和 qualifier 的组织。row key 决定排序、Region 分布、范围 scan]]>
</summary>
<title>深入 HBase 03 - Schema 与 row key 设计</title>
<updated>2026-08-30T06:54:31.390Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="ZooKeeper" scheme="https://magicliang.github.io/tags/ZooKeeper/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="Region" scheme="https://magicliang.github.io/tags/Region/"/>
<category term="hbase:meta" scheme="https://magicliang.github.io/tags/hbase-meta/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-02-%E9%9B%86%E7%BE%A4%E6%9E%B6%E6%9E%84-HMaster-RegionServer-ZooKeeper-%E4%B8%8E-hbase-meta/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-02-%E9%9B%86%E7%BE%A4%E6%9E%B6%E6%9E%84-HMaster-RegionServer-ZooKeeper-%E4%B8%8E-hbase-meta/"/>
<published>2026-08-29T02:02:00.000Z</published>
<summary>
<![CDATA[<h2 id="前置问题与边界">前置问题与边界</h2>
<p>HBase 集群架构最容易被写成一张“Master 管所有、ZooKeeper 存所有、RegionServer 干活”的粗图。这个粗图会误导读写路径。普通数据读写的主路径是 Client 定位 Region]]>
</summary>
<title>深入 HBase 02 - 集群架构:HMaster、RegionServer、ZooKeeper 与 hbase:meta</title>
<updated>2026-08-30T06:54:31.390Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="数据模型" scheme="https://magicliang.github.io/tags/%E6%95%B0%E6%8D%AE%E6%A8%A1%E5%9E%8B/"/>
<category term="Column Family" scheme="https://magicliang.github.io/tags/Column-Family/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-01-%E6%95%B0%E6%8D%AE%E6%A8%A1%E5%9E%8B-Cell-Column-Family-%E4%B8%8E%E7%89%88%E6%9C%AC/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-01-%E6%95%B0%E6%8D%AE%E6%A8%A1%E5%9E%8B-Cell-Column-Family-%E4%B8%8E%E7%89%88%E6%9C%AC/"/>
<published>2026-08-29T02:01:00.000Z</published>
<summary>
<![CDATA[<h2 id="前置问题与边界">前置问题与边界</h2>
<p>HBase 的一个值不是由“第几行第几列”定位,而是由 <code>(row, family, qualifier, timestamp)</code> 这组坐标定位。row 是 uninterpreted]]>
</summary>
<title>深入 HBase 01 - 数据模型:Cell、Column Family 与版本</title>
<updated>2026-08-30T06:54:31.390Z</updated>
</entry>
<entry>
<author>
<name>magicliang</name>
</author>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Hadoop" scheme="https://magicliang.github.io/tags/Hadoop/"/>
<category term="HBase" scheme="https://magicliang.github.io/tags/HBase/"/>
<category term="分布式数据库" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="Region" scheme="https://magicliang.github.io/tags/Region/"/>
<category term="LSM-Tree" scheme="https://magicliang.github.io/tags/LSM-Tree/"/>
<id>https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-00-%E5%AF%BC%E8%AF%BB-row-key-%E5%86%B3%E5%AE%9A%E6%95%B0%E6%8D%AE%E4%BD%8D%E7%BD%AE/</id>
<link href="https://magicliang.github.io/2026/08/29/%E6%B7%B1%E5%85%A5-HBase-00-%E5%AF%BC%E8%AF%BB-row-key-%E5%86%B3%E5%AE%9A%E6%95%B0%E6%8D%AE%E4%BD%8D%E7%BD%AE/"/>
<published>2026-08-29T02:00:00.000Z</published>
<summary>
<![CDATA[<h2 id="前置问题与边界">前置问题与边界</h2>
<p>HBase 能在 HDFS 上提供随机读写,不是因为 HDFS 获得了原地随机修改能力。HBase 把随机写接在 RegionServer 服务层:mutation 先经过 WAL 和 MemStore,随后]]>
</summary>
<title>深入 HBase 00 - 导读:row key 决定数据位置</title>
<updated>2026-08-30T06:54:31.389Z</updated>
</entry>
</feed>