0%

Hadoop实战(第2版)

基本信息

名称: Hadoop实战(第2版)
作者信息: 作者: 陆嘉恒 [ 中文 pdf ]

简单介绍

《Hadoop实战(第2版)》编辑推荐:第1版广受好评,第2版基于Hadoop及其相关技术最新版本撰写,从多角度做了全面的修订和补充。不仅详细讲解了新一代的Hadoop技术,而且全面介绍了Hive、HBase、Mahout、Pig、ZooKeeper、Avro、Chukwa等重要技术,是系统学习Hadoop技术的首选之作。

目录

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
前言
第1章Hadoop简介1
1.1什么是Hadoop2
1.1.1Hadoop概述2
1.1.2Hadoop的历史2
1.1.3Hadoop的功能与作用2
1.1.4Hadoop的优势3
1.1.5Hadoop应用现状和发展趋势3
1.2Hadoop项目及其结构3
1.3Hadoop体系结构6
1.4Hadoop与分布式开发7
1.5Hadoop计算模型—MapReduce10
1.6Hadoop数据管理10
1.6.1HDFS的数据管理10
1.6.2HBase的数据管理12
1.6.3Hive的数据管理13
1.7Hadoop集群安全策略15
1.8本章小结17
第2章Hadoop的安装与配置19
2.1在Linux上安装与配置Hadoop20
2.1.1安装JDK1.620
2.1.2配置SSH免密码登录21
2.1.3安装并运行Hadoop22
2.2在MacOSX上安装与配置Hadoop24
2.2.1安装Homebrew24
2.2.2使用Homebrew安装Hadoop25
2.2.3配置SSH和使用Hadoop25
2.3在Windows上安装与配置Hadoop25
2.3.1安装JDK1.6或更高版本25
2.3.2安装Cygwin25
2.3.3配置环境变量26
2.3.4安装sshd服务26
2.3.5启动sshd服务26
2.3.6配置SSH免密码登录26
2.3.7安装并运行Hadoop26
2.4安装和配置Hadoop集群27
2.4.1网络拓扑27
2.4.2定义集群拓扑27
2.4.3建立和安装Cluster28
2.5日志分析及几个小技巧34
2.6本章小结35
第3章MapReduce计算模型36
3.1为什么要用MapReduce37
3.2MapReduce计算模型38
3.2.1MapReduceJob38
3.2.2Hadoop中的HelloWorld程序38
3.2.3MapReduce的数据流和控制流46
3.3MapReduce任务的优化47
3.4Hadoop流49
3.4.1Hadoop流的工作原理50
3.4.2Hadoop流的命令51
3.4.3两个例子52
3.5HadoopPipes54
3.6本章小结56
第4章开发MapReduce应用程序57
4.1系统参数的配置58
4.2配置开发环境60
4.3编写MapReduce程序60
4.3.1Map处理60
4.3.2Reduce处理61
4.4本地测试62
4.5运行MapReduce程序62
4.5.1打包64
4.5.2在本地模式下运行64
4.5.3在集群上运行64
4.6网络用户界面65
4.6.1JobTracker页面65
4.6.2工作页面65
4.6.3返回结果66
4.6.4任务页面67
4.6.5任务细节页面67
4.7性能调优68
4.7.1输入采用大文件68
4.7.2压缩文件68
4.7.3过滤数据69
4.7.4修改作业属性71
4.8MapReduce工作流72
4.8.1复杂的Map和Reduce函数72
4.8.2MapReduceJob中全局共享数据74
4.8.3链接MapReduceJob75
4.9本章小结77
第5章MapReduce应用案例79
5.1单词计数80
5.1.1实例描述80
5.1.2设计思路80
5.1.3程序代码81
5.1.4代码解读82
5.1.5程序执行83
5.1.6代码结果83
5.1.7代码数据流84
5.2数据去重85
5.2.1实例描述85
5.2.2设计思路86
5.2.3程序代码86
5.3排序87
5.3.1实例描述87
5.3.2设计思路88
5.3.3程序代码89
5.4单表关联91
5.4.1实例描述91
5.4.2设计思路92
5.4.3程序代码92
5.5多表关联95
5.5.1实例描述95
5.5.2设计思路96
5.5.3程序代码96
5.6本章小结98
第6章MapReduce工作机制99
6.1MapReduce作业的执行流程100
6.1.1MapReduce任务执行总流程100
6.1.2提交作业101
6.1.3初始化作业103
6.1.4分配任务104
6.1.5执行任务106
6.1.6更新任务执行进度和状态107
6.1.7完成作业108
6.2错误处理机制108
6.2.1硬件故障109
6.2.2任务失败109
6.3作业调度机制110
6.4Shuffle和排序111
6.4.1Map端111
6.4.2Reduce端113
6.4.3shuffle过程的优化114
6.5任务执行114
6.5.1推测式执行114
6.5.2任务JVM重用115
6.5.3跳过坏记录115
6.5.4任务执行环境116
6.6本章小结117
第7章HadoopIO操作118
7.1IO操作中的数据检查119
7.2数据的压缩126
7.2.1Hadoop对压缩工具的选择126
7.2.2压缩分割和输入分割127
7.2.3在MapReduce程序中使用压缩127
7.3数据的IO中序列化操作128
7.3.1Writable类128
7.3.2实现自己的Hadoop数据类型137
7.4针对Mapreduce的文件类139
7.4.1SequenceFile类139
7.4.2MapFile类144
7.4.3ArrayFile、SetFile和BloomMapFile146
7.5本章小结148
第8章下一代MapReduce:YARN149
8.1MapReduceV2设计需求150
8.2MapReduceV2主要思想和架构151
8.3MapReduceV2设计细节153
8.4MapReduceV2优势156
8.5本章小结156
第9章HDFS详解157
9.1Hadoop的文件系统158
9.2HDFS简介160
9.3HDFS体系结构161
9.3.1HDFS的相关概念161
9.3.2HDFS的体系结构162
9.4HDFS的基本操作164
9.4.1HDFS的命令行操作164
9.4.2HDFS的Web界面165
9.5HDFS常用JavaAPI详解166
9.5.1使用HadoopURL读取数据166
9.5.2使用FileSystemAPI读取数据167
9.5.3创建目录169
9.5.4写数据169
9.5.5删除数据171
9.5.6文件系统查询171
9.6HDFS中的读写数据流175
9.6.1文件的读取175
9.6.2文件的写入176
9.6.3一致性模型178
9.7HDFS命令详解179
9.7.1通过distcp进行并行复制179
9.7.2HDFS的平衡180
9.7.3使用Hadoop归档文件180
9.7.4其他命令183
9.8WebHDFS186
9.8.1WebHDFS的配置186
9.8.2WebHDFS命令186
9.9本章小结190
第10章Hadoop的管理191
10.1HDFS文件结构192
10.2Hadoop的状态监视和管理工具196
10.2.1审计日志196
10.2.2监控日志196
10.2.3Metrics197
10.2.4Java管理扩展199
10.2.5Ganglia200
10.2.6Hadoop管理命令202
10.3Hadoop集群的维护206
10.3.1安全模式206
10.3.2Hadoop的备份207
10.3.3Hadoop的节点管理208
10.3.4系统升级210
10.4本章小结212
第11章Hive详解213
11.1Hive简介214
11.1.1Hive的数据存储214
11.1.2Hive的元数据存储216
11.2Hive的基本操作216
11.2.1在集群上安装Hive216
11.2.2配置MySQL存储Hive元数据218
11.2.3配置Hive220
11.3HiveQL详解221
11.3.1数据定义(DDL)操作221
11.3.2数据操作(DML)231
11.3.3SQL操作233
11.3.4HiveQL使用实例235
11.4Hive网络(WebUI)接口237
11.4.1Hive网络接口配置237
11.4.2Hive网络接口操作实例238
11.5Hive的JDBC接口241
11.5.1Eclipse环境配置241
11.5.2程序实例241
11.6Hive的优化244
11.7本章小结246
第12章HBase详解247
12.1HBase简介248
12.2HBase的基本操作249
12.2.1HBase的安装249
12.2.2运行HBase253
12.2.3HBaseShell255
12.2.4HBase配置258
12.3HBase体系结构260
12.3.1HRegion260
12.3.2HRegion服务器261
12.3.3HBaseMaster服务器262
12.3.4ROOT表和META表262
12.3.5ZooKeeper263
12.4HBase数据模型263
12.4.1数据模型263
12.4.2概念视图264
12.4.3物理视图264
12.5HBase与RDBMS265
12.6HBase与HDFS266
12.7HBase客户端266
12.8JavaAPI267
12.9HBase编程273
12.9.1使用Eclipse开发HBase应用程序273
12.9.2HBase编程275
12.9.3HBase与MapReduce278
12.10模式设计280
12.10.1模式设计应遵循的原则280
12.10.2学生表281
12.10.3事件表282
12.11本章小结283
第13章Mahout详解284
13.1Mahout简介285
13.2Mahout的安装和配置285
13.3MahoutAPI简介288
13.4Mahout中的频繁模式挖掘290
13.4.1什么是频繁模式挖掘290
13.4.2Mahout中的频繁模式挖掘290
13.5Mahout中的聚类和分类292
13.5.1什么是聚类和分类292

亚马逊链接

欢迎关注我的其它发布渠道