您好,欢迎来到聚文网。 登录 免费注册
Hadoop核心技术

Hadoop核心技术

  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 作者: 翟周伟 著
  • 出版日期: 2015-03-01
  • 商品条码: 9787111494683
  • 版次: 1
  • 开本: 16开
  • 页数: 387
  • 出版年份: 2015
定价:¥69 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
翟周伟编著的《Hadoop核心技术》是一本技术深度与企业实践并重的著作,由百度很好的Hadoop技术工程师撰写,是百度Hadoop技术实践经验的总结。本书使用、实现原理、运维和开发4个方面对Hadoop的核心技术进行了深入的讲解。
使用:详细讲解了HDFS存储系统、MapReduce计算框架,以及HDFS的命令系统;原理:结合源代码,深度分析了MapReduce、HDFS、Streaming、Pipes、Hadoop作业调度系统等重要技术和组件的架构设计、工作机制和实现原理;运维:结合百度的实际生产环境,详细讲解了Hadoop集群的安装、配置、测试以及管理和运维;开发:详细讲解了HadoopStreaming、Pipes的使用和开发实践,以及MapReduce的编程实践和常见问题。
与市面上已有的Hadoop相比,本书的优选不同之处是它直切企业应用和实践Hadoop技术的痛点,深入讲解了企业很需要和很头疼的技术和问题,内容上很好聚焦。
作者简介
翟周伟,就职于百度,资历Hadoop技术专家,专注于Hadoop&大数据、数据挖掘、自然语言处理等领域。2009年便开始利用Hadoop构建商业级大数据系统,是靠前该领域很早的一批人之一,负责设计过多个基于Hadoop的大数据平台和分析系统。2011年合著出版《Hadoop开源云计算平台》。在自然语言处理领域申请过一项发明专利。
目录
前言
基础篇
第1章认识Hadoop2
1.1缘于搜索的小象2
1.1.1Hadoop的身世2
1.1.2Hadoop简介3
1.1.3Hadoop发展简史6
1.2大数据、Hadoop和云计算7
1.2.1大数据7
1.2.2大数据、Hadoop和云计算的关系8
1.3设计思想与架构9
1.3.1数据存储与切分9
1.3.2MapReduce模型11
1.3.3MPI和MapReduce13
1.4国外Hadoop的应用现状13
1.5国内Hadoop的应用现状17
1.6Hadoop发行版20
1.6.1ApacheHadoop20
1.6.2ClouderaHadoop20
1.6.3HortonworksHadoop发行版21
1.6.4MapRHadoop发行版22
1.6.5IBMHadoop发行版24
1.6.6IntelHadoop发行版24
1.6.7华为Hadoop发行版25
1.7小结26
第2章Hadoop使用之初体验27
2.1搭建测试环境27
2.1.1软件与准备27
2.1.2安装与配置28
2.1.3启动与停止29
2.2算法分析与设计31
2.2.1Map设计31
2.2.2Reduce设计32
2.3实现接口32
2.3.1JavaAPI实现33
2.3.2Streaming接口实现36
2.3.3Pipes接口实现38
2.4编译40
2.4.1基于JavaAPI实现的编译40
2.4.2基于Streaming实现的编译40
2.4.3基于Pipes实现的编译41
2.5提交作业41
2.5.1基于JavaAPI实现作业提交41
2.5.2基于Streaming实现作业提交42
2.5.3基于Pipes实现作业提交43
2.6小结44
第3章Hadoop存储系统45
3.1基本概念46
3.1.1NameNode46
3.1.2DateNode46
3.1.3客户端47
3.1.4块47
3.2HDFS的特性和目标48
3.2.1HDFS的特性48
3.2.2HDFS的目标48
3.3HDFS架构49
3.3.1Master/Slave架构49
3.3.2NameNode和SecondaryNameNode通信模型51
3.3.3文件存取机制52
3.4HDFS核心设计54
3.4.1Block大小54
3.4.2数据复制55
3.4.3数据副本存放策略56
3.4.4数据组织57
3.4.5空间回收57
3.4.6通信协议58
3.4.7安全模式58
3.4.8机架感知59
3.4.9健壮性59
3.4.10负载均衡60
3.4.11升级和回滚机制62
3.5HDFS权限管理64
3.5.1用户身份64
3.5.2系统实现65
3.5.3超级用户65
3.5.4配置参数65
3.6HDFS配额管理66
3.7HDFS的缺点67
3.8小结68
第4章HDFS的使用69
4.1HDFS环境准备69
4.1.1HDFS安装配置69
4.1.2HDFS格式化与启动70
4.1.3HDFS运行检查70
4.2HDFS命令的使用71
4.2.1fsshell71
4.2.2archive77
4.2.3distcp78
4.2.4fsck81
4.3HDFSJavaAPI的使用方法82
4.3.1JavaAPI简介82
4.3.2读文件82
4.3.3写文件86
4.3.4删除文件或目录90
4.4C接口libhdfs91
4.4.1libhdfs介绍91
4.4.2编译与部署91
4.4.3libhdfs接口介绍92
4.4.4libhdfs使用举例95
4.5WebHDFS接口97
4.5.1WebHDFSRESTAPI简介97
4.5.2WebHDFS配置98
4.5.3WebHDFS使用98
4.5.4WebHDFS错误响应和查询参数101
4.6小结103
第5章MapReduce计算框架104
5.1HadoopMapReduce简介104
5.2MapReduce模型105
5.2.1MapReduce编程模型105
5.2.2MapReduce实现原理106
5.3计算流程与机制108
5.3.1作业提交和初始化108
5.3.2Mapper110
5.3.3Reducer111
5.3.4Reporter和OutputCollector112
5.4MapReduce的输入/输出格式113
5.4.1输入格式113
5.4.2输出格式118
5.5核心问题124
5.5.1Map和Reduce数量124
5.5.2作业配置126
5.5.3作业执行和环境127
5.5.4作业容错机制129
5.5.5作业调度131
5.6有用的MapReduce特性132
5.6.1计数器132
5.6.2DistributedCache134
5.6.3Tool135
5.6.4IsolationRunner136
5.6.5Prof?iling136
5.6.6MapReduce调试136
5.6.7数据压缩137
5.6.8优化138
5.7小结138
第6章Hadoop命令系统139
6.1Hadoop命令系统的组成139
6.2用户命令141
6.3管理员命令144
6.4测试命令148
6.5应用命令156
6.6Hadoop的streaming命令163
6.6.1streaming命令163
6.6.2参数使用分析164
6.7Hadoop的pipes命令168
6.7.1pipes命令168
6.7.2参数使用分析169
6.8小结170
高级篇
第7章MapReduce深度分析172
7.1MapReduce总结构分析172
7.1.1数据流向分析172
7.1.2处理流程分析174
7.2MapTask实现分析176
7.2.1总逻辑分析176
7.2.2Read阶段178
7.2.3Map阶段178
7.2.4Collector和Partitioner阶段180
7.2.5Spill阶段181
7.2.6Merge阶段185
7.3ReduceTask实现分析186
7.3.1总逻辑分析186
7.3.2Shuffle阶段187
7.3.3Merge阶段189
7.3.4Sort阶段190
7.3.5Reduce阶段191
7.4JobTracker分析192
7.4.1JobTracker服务分析192
7.4.2JobTracker启动分析193
7.4.3JobTracker核心子线程分析195
7.5TaskTracker分析201
7.5.1TaskTracker启动分析201
7.5.2TaskTracker核心子线程分析205
7.6心跳机制实现分析207
7.6.1心跳检测分析207
7.6.2TaskTracker.transmitHeart-Beat()207
7.6.3JobTracker.heartbeat()209
7.6.4JobTracker.processHeartbeat()212
7.7作业创建分析213
7.7.1初始化分析214
7.7.2作业提交分析215
7.8作业执行分析217
7.8.1JobTracker初始化218
7.8.2TaskTracker.startNewTask()220
7.8.3TaskTracker.localizeJob()220
7.8.4TaskRunner.run()221
7.8.5MapTask.run()222
7.9小结223
第8章HadoopStreaming和Pipes原理与实现224
8.1Streaming原理浅析224
8.2Streaming实现架构226
8.3Streaming核心实现机制227
8.3.1主控框架实现227
8.3.2用户进程管理228
8.3.3框架和用户程序的交互229
8.3.4PipeMapper和PiperReducer230
8.4Pipes原理浅析231
8.5Pipes实现架构233
8.6Pipes核心实现机制234
8.6.1主控类实现234
8.6.2用户进程管理235
8.6.3PipesMapRunner235
8.6.4PipesReducer238
8.6.5C++端HadoopPipes238
8.7小结239
第9章Hadoop作业调度系统240
9.1作业调度概述241
9.1.1相关概念241
9.1.2作业调度流程242
9.1.3集群资源组织与管理243
9.1.4队列控制和权限管理244
9.1.5插件式调度框架245
9.2FIFO调度器246
9.2.1基本调度策略246
9.2.2FIFO实现分析247
9.2.3FIFO初始化与停止248
9.2.4作业监听控制249
9.2.5任务分配算法250
9.2.6配置与使用254
9.3公平调度器254
9.3.1产生背景254
9.3.2主要功能255
9.3.3基本调度策略255
9.3.4FairScheduler实现分析257
9.3.5FairScheduler启停分析258
9.3.6作业监听控制260
9.3.7资源池管理260
9.3.8作业更新策略262
9.3.9作业权重和资源量的计算266
9.3.10任务分配算法267
9.3.11FairScheduler配置参数268
9.3.12使用与管理270
9.4容量调度器272
9.4.1产生背景272
9.4.2主要功能272
9.4.3基本调度策略274
9.4.4CapacityScheduler实现分析274
9.4.5CapacityScheduler启停分析275
9.4.6作业监听控制277
9.4.7作业初始化分析277
9.4.8任务分配算法278
9.4.9内存匹配机制279
9.4.10配置与使用280
9.5调度器对比分析283
9.5.1调度策略对比283
9.5.2队列和优先级283
9.5.3资源分配保证283
9.5.4作业限制284
9.5.5配置管理284
9.5.6扩展性支持284
9.5.7资源抢占和延迟调度284
9.5.8优缺点分析285
9.6其他调度器285
9.6.1HOD调度器285
9.6.2LATE调度器286
9.7小结288
实战篇
第10章Hadoop集群搭建290
10.1Hadoop版本的选择290
10.2集群基础硬件需求291
10.2.1内存291
10.2.2CPU292
10.2.3磁盘292
10.2.4网卡293
10.2.5网络拓扑293
10.3集群基础软件需求294
10.3.1操作系统294
10.3.2JVM和SSH295
10.4虚拟化需求295
10.5事前准备296
10.5.1创建安装用户296
10.5.2安装Java297
10.5.3安装SSH并设置297
10.5.4防火墙端口设置298
10.6安装Hadoop298
10.6.1安装HDFS299
10.6.2安装MapReduce299
10.7集群配置300
10.7.1配置管理300
10.7.2环境变量配置301
10.7.3核心参数配置302
10.7.4HDFS参数配置303
10.7.5MapReduce参数配置306
10.7.6masters和slaves配置313
10.7.7客户端配置313
10.8启动和停止314
10.8.1启动/停止HDFS314
10.8.2启动/停止MapReduce315
10.8.3启动验证315
10.9集群基准测试316
10.9.1HDFS基准测试316
10.9.2MapReduce基准测试317
10.9.3综合性能测试318
10.10集群搭建实例319
10.10.1部署策略319
10.10.2软件和硬件环境320
10.10.3Hadoop安装321
10.10.4配置core-site.xml321
10.10.5配置hdfs-site.xml322
10.10.6配置mapred-site.xml322
10.10.7SecondaryNameNode和Slave324
10.10.8配置作业队列324
10.10.9配置第三方调度器325
10.10.10启动与验证327
10.11小结327
第11章HadoopStreaming和Pipes编程实战328
11.1Streaming基础编程328
11.1.1Streaming编程入门328
11.1.2Map和Reduce数目331
11.1.3队列、优先级及权限332
11.1.4分发文件和压缩包333
11.1.5压缩参数的使用336
11.1.6本地作业的调试338
11.2Streaming高级应用338
11.2.1参数与环境变量传递339
11.2.2自定义分隔符340
11.2.3自定义Partitioner343
11.2.4自定义计数器347
11.2.5处理二进制数据347
11.2.6使用聚合函数351
11.3Pipes编程接口352
11.3.1TaskContext352
11.3.2Mapper353
11.3.3Reducer354
11.3.4Partitioner354
11.3.5RecordReader355
11.3.6RecordWriter356
11.4Pipes编程应用357
11.5小结359
第12章HadoopMapReduce应用开发360
12.1开发环境准备360
12.2Eclipse集成环境开发361
12.2.1构建MapReduceEclipseIDE361
12.2.2开发示例363
12.3MapReduceJavaAPI编程368
12.3.1Mapper编程接口369
12.3.2Reducer编程接口370
12.3.3驱动类编写372
12.3.4编译运行373
12.4压缩功能使用374
12.4.1Hadoop数据压缩374
12.4.2压缩特征与性能374
12.4.3本地压缩库375
12.4.4使用压缩376
12.5排序应用378
12.5.1Hadoop排序问题378
12.5.2二次排序378
12.5.3比较器和组合排序380
12.5.4全局排序381
12.6多路输出382
12.7常见问题与处理方法384
12.7.1常见的开发问题384
12.7.2运行时错误问题386
12.8小结387

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网