java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3853|回复: 3

【java电子书】Hadoop技术内幕:深入解析MapReduce架构设计与实现原理 PDF 电子书 ...

[复制链接]
  • TA的每日心情
    开心
    2021-5-25 00:00
  • 签到天数: 1917 天

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66345

    宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2016-12-6 14:06:01 | 显示全部楼层 |阅读模式
    java自学网(www.javazx.com)-java论坛,java电子书推荐:《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》, x0 g3 f0 t7 B; m3 \4 E
    java电子书推荐理由:由Hadoop领域资深的实践者亲自执笔,首先介绍了MapReduce的设计理念和编程模型,然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和Task等MapReduce运行时环境的架构设计与实现原理,最后从实际应用的角度深入讲解了Hadoop的性能优化、安全机制、多用户作业调度器和下一代MapReduce框架等高级主题和内容。$ S, F  h. V" A- n$ B; N
    " h( g8 [; U) s$ a
    # e+ c1 e4 u: k$ k) I( a
    作者:董西成 著2 r, @! q7 v- |! s3 f( C
    出版社:机械工业出版社
    % C- l0 H( w! |( W; r' N7 @出版时间:2013年05月
    ' S0 E4 x2 e4 L+ C& a% a( q  t/ l% |& o+ p0 m

    * [6 q6 z. [( ^/ M QQ截图20161121155409.jpg
    ( H4 v. L' s- v. m" `& D- J/ y4 i
    . r& P+ L6 o3 ^
    # s" y! @5 x4 h5 U, w! S3 S
    java电子书目录:5 E& n: d- H% k' e4 ^! T* @
    第一部分 基础篇+ o3 e  R9 A& Y6 R1 A- u# K
    第1章 阅读源代码前的准备
    , A. D8 r- _) K2 e7 X1.1 准备源代码学习环境
    3 }+ B2 b( D7 s. {8 |, A" r6 o2 J1.1.1 基础软件下载. U) X1 m9 o& `$ W+ a8 m# A
    1.1.2 如何准备Windows环境
    8 k$ _! _* W: p) |7 q$ z1.1.3 如何准备Linux环境8 M1 `' o& V, R
    1.2 获取Hadoop源代码" a' g: S" u4 ^. `. }9 o
    1.3 搭建Hadoop源代码阅读环境
    " @  K- a" f$ M, k% V1.3.1 创建Hadoop工程
    4 T6 V5 i8 J8 ?0 v" ?* H4 P1 F1.3.2 Hadoop源代码阅读技巧( L- l! t9 E. }: {3 z
    1.4 Hadoop源代码组织结构, E& f4 {: X+ m, |
    1.5 Hadoop初体验. {* L4 T* C+ Q$ I# a# Q4 U6 G
    1.5.1 启动Hadoop
    , u. h' y1 N% U- `0 A7 B1.5.2 Hadoop Shell介绍
    1 t2 S* C1 o$ B3 Y1 ^9 ]1.5.3 Hadoop Eclipse插件介绍8 g  I9 f1 a0 G$ A- r0 k) C
    1.6 编译及调试Hadoop源代码
    . S" v& J6 V- G. t+ V' }7 q1.6.1 编译Hadoop源代码
    1 f& T" f; x+ u) A% g: j1.6.2 调试Hadoop源代码
    ! S( C6 c. M; S8 S' ~: k- D( w" G0 V1.7 小结
    $ b. Q4 x/ |: d- {) Y第2章 MapReduce设计理念与基本架构
    % j. t: N2 t  g2 G' ?: O2.1 Hadoop发展史
    3 \. S$ P7 T4 J+ a2.1.1 Hadoop产生背景5 B+ K4 c6 s8 J; P
    2.1.2 Apache Hadoop新版本的特性
    ' l% J* b  w. G2.1.3 Hadoop版本变迁
    2 K2 w. A7 Q) i2.2 Hadoop MapReduce设计目标! X2 b% \* s8 ~9 n: u1 w1 Y1 K( ?" z
    2.3 MapReduce编程模型概述/ b+ g2 Q! K9 k* N! z0 A3 S
    2.3.1 MapReduce编程模型简介0 [! Z# w# A0 F4 k" Q9 {1 z" Z/ w
    2.3.2 MapReduce编程实例& I2 |, t- O8 C# O% l& J7 K$ w
    2.4 Hadoop基本架构
    * A  C9 \- i1 x2 r: d# x% P2.4.1 HDFS架构  W3 ~) K: @, X# v! Q) S, \
    2.4.2 Hadoop MapReduce架构$ O8 v  ], x6 U9 N
    2.5 Hadoop MapReduce作业的生命周期& n; {! B( @: x4 ^  j% y. q
    2.6 小结7 q+ s8 x% I8 O4 X
    第二部分 MapReduce编程模型篇) D* Q) g4 R' V( M6 R
    第3章 MapReduce编程模型
    , B/ `; h) n; n- x3.1 MapReduce编程模型概述
    / @7 X. b5 ~. j- w# X3.1.1 MapReduce编程接口体系结构
    4 L+ P) a1 A3 y* }( ?3.1.2 新旧MapReduce API比较9 [" l) ]0 V: \' Z& z* S" ^
    3.2 MapReduce API基本概念! Y, w8 h" H6 ~8 F) n! @- i) ^9 X
    3.2.1 序列化
    3 E; a  g' Z4 |( h& P3.2.2 Reporter参数
    ! n) X0 c% e( N; c: y; P3.2.3 回调机制
    % K0 r$ L1 H) z* E8 Z3.3 Java API解析
    % r+ Z& s/ _2 J& d; L  Q3.3.1 作业配置与提交! }8 F& |7 z9 D2 I  K# v' z
    3.3.2 InputFormat接口的设计与实现
    / `/ Q3 j5 g/ V, n( @$ i3.3.3 OutputFormat接口的设计与实现( O) @4 B) ]6 Y" p$ x( M7 p
    3.3.4 Mapper与Reducer解析4 w! k4 v) n# S! Q' M* g* i
    3.3.5 Partitioner接口的设计与实现
    5 K" q$ v. P% S/ ^7 P3.4 非Java API解析
    8 U4 N7 T3 e  S" M5 C0 U8 F1 g3.4.1 Hadoop Streaming的实现原理  u" d: t/ z# q0 C0 j
    3.4.2 Hadoop Pipes的实现原理
    & O' o+ N4 ~" l8 a) O$ \* i3.5 Hadoop工作流; K/ Y& D6 F0 Y9 \5 U
    3.5.1 JobControl的实现原理
    % n! O5 i9 T* N  ]* Q3.5.2 ChainMapperChainReducer的实现原理; Y3 }8 p. _" E9 Z. p
    3.5.3 Hadoop工作流引擎
    8 N8 J! e. Z/ X3.6 小结, R1 f0 o* T( q# |0 b2 f* ]
    第三部分 MapReduce核心设计篇% a& ~2 U+ K) t5 [* M" F1 c8 Q
    第4章 Hadoop RPC框架解析: S5 ~/ n2 S+ c4 a7 s
    4.1 Hadoop RPC框架概述
    # v( F- w1 ~  ~0 h2 J: g. M4.2 Java基础知识1 X8 m, _7 S& _) C6 D7 _6 x+ ^
    4.2.1 Java反射机制与动态代理
    2 M0 X  K7 P0 z! @2 x3 _* C. a4.2.2 Java网络编程7 Q- h% b; D; E) O% h: [9 p
    4.2.3 Java NIO
    * N5 K5 R& @. i- h1 E2 F$ p4.3 Hadoop RPC基本框架分析
    ) g: U3 f1 B5 n$ c3 `) B" C4.3.1 RPC基本概念8 ?6 ?7 Q5 B' C1 ^; o' z; e1 Q
    4.3.2 Hadoop RPC基本框架9 u! c7 ?9 N. H
    4.3.3 集成其他开源RPC框架. z5 U# y( t. e! j; W3 K
    4.4 MapReduce通信协议分析
    8 |  P8 M& J- V+ }' O% T% T4 o4.4.1 MapReduce 通信协议概述
    / b; e. y% ]& u( Q" J4 ?0 A/ m) f4.4.2 JobSubmissionProtocol通信协议
    2 ?* o/ T4 j& h& ]& E, c% S) t4.4.3 InterTrackerProtocol通信协议
    + a0 Q& P* ]) v  q" Z7 \4.4.4 TaskUmbilicalProtocol通信协议$ v2 B8 `3 w2 b" q0 L; s' V4 @
    4.4.5 其他通信协议
    : K) q! I. t* h) h! G# l) |4.5 小结
    " g+ W+ `/ ~# s. c) \0 N8 K) h  a第5章 作业提交与初始化过程分析4 L/ s% j5 W& X8 q1 T4 q  t
    5.1 作业提交与初始化概述, u$ F5 T- c2 p1 ?' J" y
    5.2 作业提交过程详解* H. L& b, D$ e2 r) t3 `
    5.2.1 执行Shell命令0 _" `5 Y$ T3 i/ N* d5 \6 V
    5.2.2 作业文件上传
    ) P6 }( Y7 A+ p5.2.3 产生InputSplit文件
    $ @0 e0 m9 J% i0 N3 n5.2.4 作业提交到JobTracker3 l6 X7 N) q- P4 k$ A
    5.3 作业初始化过程详解: D' L. }# ^: }& K) q
    5.4 Hadoop DistributedCache原理分析
    & o9 f4 ]& _/ o7 L/ W, W5.4.1 使用方法介绍
    6 z5 Z7 g; m: c0 c5.4.2 工作原理分析
    # H3 S8 D5 g* c& k* H5.5 小结- G: ^4 y& D1 y4 _& _
    第6章 JobTracker内部实现剖析
    1 W8 }# t% d% G. M2 h0 K6.1 JobTracker概述
    ; w' m2 Y: o2 v6.2 JobTracker启动过程分析
    ) X! B" B( A& C% K3 C4 O6.2.1 JobTracker启动过程概述
    & @. R: a. d. s! x6.2.2 重要对象初始化- h) R$ U) Z* ^  j) r6 E' T
    6.2.3 各种线程功能
    * X4 J8 W5 u# L( r3 B6.2.4 作业恢复" I. ?& ?# [" n* {$ m3 b
    6.3 心跳接收与应答1 n9 m# ^4 j8 }1 p8 y+ J! r5 O
    6.3.1 更新状态
    ! e) ~, _+ U" N5 v! Y' ?6.3.2 下达命令6 ?2 q3 R0 T7 a) t, w4 V- y+ V
    6.4 Job和Task运行时信息维护0 B( \: n3 A* @& ?
    6.4.1 作业描述模型
    0 R( B) j% k3 M- V1 h6.4.2 JobInProgress
    4 u6 {/ o% W9 l6 J6.4.3 TaskInProgress' G5 ?  O  Y+ b  b7 X: R$ |6 H
    6.4.4 作业和任务状态转换图
    4 ~1 `  S( H# c) x! N6.5 容错机制1 s3 e3 H4 E- J; X! `7 G1 {
    6.5.1 JobTracker容错0 o' w! [8 h' c" f
    6.5.2 TaskTracker容错
    2 B* d) I2 j: l# Q) `6.5.3 JobTask容错( }' ?. n6 ]4 |8 l
    6.5.4 Record容错# w" ?6 w4 a0 p4 U: l
    6.5.5 磁盘容错. M) W2 U  X2 K1 ?5 i
    6.6 任务推测执行原理/ f" j4 J; Y( {2 G( G6 n
    6.6.1 计算模型假设; }! v8 H4 ?+ i# t+ G
    6.6.2 1.0.0版本的算法3 n2 N+ q5 w0 e2 I7 W
    6.6.3 0.21.0版本的算法
    & q* ]* w" E2 i/ w1 z# u6.6.4 2.0版本的算法& z# g1 \* r- m$ m- E# U' }
    6.7 Hadoop资源管理
    - Y3 q! b) p, u$ {( p- d6.7.1 任务调度框架分析  k+ [6 M' f# ?9 H9 w
    6.7.2 任务选择策略分析1 K9 |) B- Z8 `9 L9 y  l! m1 y! B
    6.7.3 FIFO调度器分析
      u; |! r( U. H6.7.4 Hadoop资源管理优化
    - B+ F' y8 w+ i) O: J' z8 f6.8 小结
    3 @) M/ f# S$ _# w" S第7章 TaskTracker内部实现剖析9 p& U- l0 w' y2 J0 ]! k& u+ C+ d
    7.1 TaskTracker概述% }8 I; {( l, i/ ]
    7.2 TaskTracker启动过程分析
    1 g. B; E  z6 }' U- q" i5 X7.2.1 重要变量初始化
    ) S9 T* |) z0 f$ R# f  h2 Z/ y7.2.2 重要对象初始化
    + N% ^, u& h+ y9 r* s7.2.3 连接JobTracker
    9 f2 C8 Z: Q: Q; o7 J- s1 _# S9 s7.3 心跳机制3 g4 |; E9 i& f# C% U; f
    7.3.1 单次心跳发送
    # t0 ^8 o4 n" u, D2 y% l* V0 g7.3.2 状态发送
    . O& ]/ F& z: N7.3.3 命令执行
      O: p1 H5 l- j0 y& `1 [9 F7.4 TaskTracker行为分析9 l6 q3 Q! q' E& g1 c
    7.4.1 启动新任务/ D1 X0 |7 A# S. J: l1 d6 L
    7.4.2 提交任务
    9 B- ~( l6 `: r7.4.3 杀死任务
    - q. A. @5 |9 a" ?- G- y9 O2 i9 ?7.4.4 杀死作业
    6 {. @0 \4 m# s! u4 k7.4.5 重新初始化
      m0 P9 D$ R6 c3 b7.5 作业目录管理
    4 s/ t3 j7 E7 y: F3 l! k+ V& |2 v7.6 启动新任务% O6 u5 k) S: N& d' i8 U, b
    7.6.1 任务启动过程分析) D9 B8 z. D* {8 H5 k) D
    7.6.2 资源隔离机制
    0 ~. \  R# U0 w* t; i% `6 C7.7 小结. O8 D: I* s) o
    第8章 Task运行过程分析
    6 m1 i2 L6 g5 o3 j; ?8 e/ n8.1 Task运行过程概述
    , {- U0 j! n9 J! Q/ O0 [% M& S& ~2 q6 a8.2 基本数据结构和算法9 [1 [1 M4 v6 y/ s
    8.2.1 IFile存储格式
    + [# `2 ?( {) ~8.2.2 排序
    % o" s! C7 k0 q8.2.3 Reporter0 e2 e. v) T+ ?4 b1 {5 T# x
    8.3 Map Task内部实现
    ; }1 x. z* s% A5 l3 R3 z8.3.1 Map Task整体流程- ~, s& V0 y* t6 f
    8.3.2 Collect过程分析
    . o# B2 F6 X7 U/ ^* H5 L" p8.3.3 Spill过程分析3 t5 A8 i8 s$ A% L' ~& _
    8.3.4 Combine过程分析. J3 S/ C3 b2 o! ~
    8.4 Reduce Task内部实现% k. p6 u! k  Y+ T
    8.4.1 Reduce Task整体流程
    * t( F& m- y; s8 Y8.4.2 Shuffle和Merge阶段分析
    7 C9 N7 h" Y9 w2 h. P( v8.4.3 Sort和Reduce阶段分析) V9 a. b$ M  N; P7 |
    8.5 MapReduce Task优化8 v2 q! `% a/ ]  d+ `! q$ e
    8.5.1 参数调优
    - U1 t& g+ V- r  I4 q8.5.2 系统优化
    " F. t# W+ o% O" a' k! v7 I8.6 小结
    + w/ |4 I8 z, t- Z* k第四部分 MapReduce高级篇- y. p, X' P( _/ ~% G; p
    第9章 Hadoop性能调优
    ) n; R2 a$ V+ r2 Z0 c* {  F9.1 概述6 F0 E, n" G! R, T8 M
    9.2 从管理员角度进行调优9 \: A7 f5 }" J4 i& S4 w( E
    9.2.1 硬件选择, W3 I/ j' g, P2 Y7 x4 s. W/ C
    9.2.2 操作系统参数调优
    % b$ R, ^0 L8 P, O+ k9.2.3 JVM参数调优
    4 |3 j( s! ]- i( F& P5 v9.2.4 Hadoop参数调优* Q; j( j+ E- w6 o: N
    9.3 从用户角度进行调优
    " A% f- Y) y5 w4 T1 v) k4 v( o' j9.3.1 应用程序编写规范8 I4 q2 e# z' g* `9 Z& e
    9.3.2 作业级别参数调优
    # y' o" o+ b- S1 W. ]/ Y9.3.3 任务级别参数调优
    1 P6 v: K7 Z* c" H  S9.4 小结9 |% ?3 b9 ?* S3 U& q. b( v
    第10章 Hadoop多用户作业调度器7 u. n' {! D, ~
    10.1 多用户调度器产生背景0 a+ I' a9 |+ v3 z9 u. X* o, v0 ]
    10.2 HOD
    1 O+ j' C6 E$ A  b* _- b10.2.1 Torque资源管理器. v+ t: d* @6 k9 a. d1 a2 y
    10.2.2 HOD作业调度
    % g( N& |2 Q  \5 T3 L) {% `10.3 Hadoop队列管理机制2 U! w9 t4 u- k0 r1 C% w
    10.4 Capacity Scheduler实现$ {' @# U/ I8 C' e1 v! B1 N
    10.4.1 Capacity Scheduler功能介绍
    # g' |6 K/ E9 [10.4.2 Capacity Scheduler实现% b8 ^, r2 \: X5 M0 w
    10.4.3 多层队列调度
    5 b' j0 {- C- [# b9 [7 A10.5 Fair Scheduler实现/ ~2 V" W# |! F7 J. H4 x
    10.5.1 Fair Scheduler功能介绍
    " a' j+ P/ m" N; ~! U10.5.2 Fair Scheduler实现
    7 b' l/ _8 v( f9 b) t( e10.5.3 Fair Scheduler与Capacity Scheduler对比
    1 H2 F$ ?9 C8 t) _10.6 其他Hadoop调度器介绍* Y; g  G9 z' S6 t
    10.7 小结( |2 E$ V% F! T/ Y: |
    第11章 Hadoop安全机制
    / B- H* Y$ l3 _7 Z0 y11.1 Hadoop安全机制概述+ P) D7 q8 r- w! l8 C+ ]' }1 ~# e
    11.1.1 Hadoop面临的安全问题9 w* Z- P/ N; n" s( K( ]8 [
    11.1.2 Hadoop对安全方面的需求3 W+ e; O  Z% k) j9 O- ~
    11.1.3 Hadoop安全设计基本原则
    / p$ P' M) @9 Q5 D% {- }$ {11.2 基础知识' @/ l3 l/ ]4 O+ l
    11.2.1 安全认证机制
    7 f, f8 Y- z& {0 N) J) P11.2.2 Kerberos介绍
    " X9 A( t3 |3 h& m/ Y8 Z8 Q11.3 Hadoop安全机制实现  X: }9 r& D% C
    11.3.1 RPC& p8 h: T- {. I7 [
    11.3.2 HDFS
    0 t8 h! A, _* z' j. C2 O& G11.3.3 MapReduce
    & R- Y* c3 u5 H; _* a" ~11.3.4 上层服务
    4 b' u. Q. q0 B11.4 应用场景总结7 ^+ I4 D9 A& W  T9 _! J
    11.4.1 文件存取6 @. a# a$ i5 m' d( @/ R7 Z1 u
    11.4.2 作业提交与运行
    5 X: t! ]3 j5 p11.4.3 上层中间件访问Hadoop% j5 C7 s) ?' y
    11.5 小结, r+ z2 N1 j; [; |- x) ~0 \
    第12章 下一代MapReduce框架
    . S2 b+ m# K8 _! X5 s3 H- N12.1 第一代MapReduce框架的局限性' V0 G% h% M1 _( ]2 C9 Q/ i
    12.2 下一代MapReduce框架概述  s7 R0 J3 \+ n. u
    12.2.1 基本设计思想
    + R& j# c- w7 u3 c% P% \4 T& g12.2.2 资源统一管理平台
    ' O" `" M& K& m# O12.3 Apache YARN9 ]) a" C# v2 w
    12.3.1 Apache YARN基本框架' |/ |0 d0 g& ~& D0 X8 O
    12.3.2 Apache YARN工作流程
    - m) H8 ~: K" m0 C  u( B. C12.3.3 Apache YARN设计细节
    1 ~" S% f# ?4 N1 N7 w12.3.4 MapReduce与YARN结合
    ! C- X( @$ E. Q+ h$ L) J# @9 X8 a12.4 Facebook Corona
    ; E1 \2 W- b0 z! w12.4.1 Facebook Corona基本框架+ N' ~; Z1 t( ~: I1 O
    12.4.2 Facebook Corona工作流程; R9 p% m( K$ e
    12.4.3 YARN与Corona对比3 q/ `. d. `# C7 H% X- ?' m. h
    12.5 Apache Mesos
    ( j6 A) R- Y/ F; u12.5.1 Apache Mesos基本框架
    3 b3 c7 a+ x9 X# F* A% `% N12.5.2 Apache Mesos资源分配
    7 V+ p8 }5 r! F. M- o5 Y12.5.3 MapReduce与Mesos结合
    . P) a0 f9 C) h# ^1 M& ?12.6 小结
    . X7 w0 l9 B+ H/ d; r# L
    $ Y) X8 k$ Q+ J
    电子书优惠获取地址:《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》! m" O$ q8 Q$ @6 ?$ \
    5 ]0 V* ~0 v* I+ L" f

    4 h, ^3 |3 y! ~* x, I" A& [
    5 s3 [# L( q: J" n
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-4-22 17:37
  • 签到天数: 4 天

    [LV.2]登堂入室

    0

    主题

    28

    帖子

    101

    积分

    普通会员

    Rank: 2

    积分
    101
    发表于 2017-3-15 22:21:19 | 显示全部楼层
    666666666666666666666
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-4-26 08:56
  • 签到天数: 3 天

    [LV.2]登堂入室

    0

    主题

    9

    帖子

    63

    积分

    普通会员

    Rank: 2

    积分
    63
    发表于 2017-12-1 09:21:32 | 显示全部楼层
    谢谢楼主分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-10-17 20:14
  • 签到天数: 2 天

    [LV.1]初学乍练

    0

    主题

    3

    帖子

    46

    积分

    普通会员

    Rank: 2

    积分
    46
    发表于 2019-10-17 20:15:23 | 显示全部楼层
    xiexielouzhu java, v, E& J: v+ t* }! u. J
    7 \' U  f, G7 N' q. J
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|Java自学网

    GMT+8, 2024-11-23 17:34 , Processed in 0.125388 second(s), 39 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

    快速回复 返回顶部 返回列表