java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4096|回复: 3

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

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

    [LV.Master]出神入化

    2093

    主题

    3751

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66773

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

    发表于 2016-12-6 14:06:01 | 显示全部楼层 |阅读模式
    java自学网(www.javazx.com)-java论坛,java电子书推荐:《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》
    ( H8 \$ Y$ x% [9 \: ~. O+ Fjava电子书推荐理由:由Hadoop领域资深的实践者亲自执笔,首先介绍了MapReduce的设计理念和编程模型,然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和Task等MapReduce运行时环境的架构设计与实现原理,最后从实际应用的角度深入讲解了Hadoop的性能优化、安全机制、多用户作业调度器和下一代MapReduce框架等高级主题和内容。
    + I6 H7 Z# `9 C: S! b
    ) E# J2 L9 d# L+ B2 C$ C( Y

    ; U  i% E9 g( O4 O4 u4 x5 H9 c作者:董西成 著: h% j& _% K$ G" F
    出版社:机械工业出版社- L  D6 ?0 @" j3 y4 B  z: \
    出版时间:2013年05月 + r# K0 E8 v1 n' |3 z
    $ P5 P8 E" O1 P  _$ p
    4 W+ D- `1 c, e$ V0 i! O! ?
    QQ截图20161121155409.jpg 1 I2 c2 H; s" l  N% u& g( X

    2 E$ C% T/ G, ?# B
    2 A" K* i8 M' B3 Y& e" |! r
    java电子书目录:
    ) @0 w! J$ c) m5 M# c' h# P第一部分 基础篇% u# @8 X; P: |
    第1章 阅读源代码前的准备1 \: z2 H  b' t. [. E
    1.1 准备源代码学习环境
    0 [0 I, m7 v; ~/ B  Q, h1.1.1 基础软件下载
    & X9 v( R/ D2 P8 H8 Z1.1.2 如何准备Windows环境
    ) K6 e. ?, r7 |1.1.3 如何准备Linux环境* I) Y, ~! _5 J! C, O2 W( @
    1.2 获取Hadoop源代码
    $ t& l+ [! j# f. M0 U1.3 搭建Hadoop源代码阅读环境. K6 w/ F1 W0 q# [+ y) |
    1.3.1 创建Hadoop工程; @3 _" l9 F- Q; I$ Y
    1.3.2 Hadoop源代码阅读技巧  T3 c: l7 m' k# y+ n: F
    1.4 Hadoop源代码组织结构
    9 h. L, a+ {1 i9 O6 T! b9 Y1.5 Hadoop初体验9 c: K3 [! j$ X6 O
    1.5.1 启动Hadoop
    4 N  a/ P* [& ?3 M. j% D. Q1.5.2 Hadoop Shell介绍
      R  q* ?. D/ R% r! r: X# T1 c1.5.3 Hadoop Eclipse插件介绍' f: }" [3 A- ~& e! n: p# j
    1.6 编译及调试Hadoop源代码
    * z4 J+ i, C# I* b2 d  i1.6.1 编译Hadoop源代码! z; T$ _' d/ r; u" {
    1.6.2 调试Hadoop源代码
    ; @' }+ y6 l3 r8 ?! b4 k1.7 小结' P8 I) q: U+ I. ^  _
    第2章 MapReduce设计理念与基本架构  H9 R  B( T% I' x2 M% K: h+ t
    2.1 Hadoop发展史: ?& G- E3 q: y  _( O: T
    2.1.1 Hadoop产生背景
    , g5 y8 f: |" O2.1.2 Apache Hadoop新版本的特性
    ( M  c$ g0 \* h0 u2.1.3 Hadoop版本变迁  R- d& P! G. ?9 K* U6 `& X
    2.2 Hadoop MapReduce设计目标
    " [8 v0 \% z6 ^9 i2.3 MapReduce编程模型概述& }1 K1 N' K' O9 X* I- Z* T
    2.3.1 MapReduce编程模型简介
    3 c4 V8 `* E* \4 R8 N2.3.2 MapReduce编程实例+ [4 ~% I( L+ j5 q
    2.4 Hadoop基本架构& X7 ^+ j' d, E2 d' X
    2.4.1 HDFS架构
    9 l% Y/ v0 K+ V% G4 G2.4.2 Hadoop MapReduce架构6 U8 \( L* c& \( H  A5 G/ s! P
    2.5 Hadoop MapReduce作业的生命周期0 P5 Q  ?6 k* y1 U
    2.6 小结
    0 M  }% m$ ^/ q第二部分 MapReduce编程模型篇, y$ N# e) R/ |: I5 K2 a9 h
    第3章 MapReduce编程模型3 m: ]) l: W( v# F6 N  c: Y  f6 z5 W
    3.1 MapReduce编程模型概述  I. M9 C5 {3 j; D+ a$ Y
    3.1.1 MapReduce编程接口体系结构
    8 M& g0 r2 z1 B" x. n' E5 m3.1.2 新旧MapReduce API比较
    8 }' U, L- R  S5 K, Q; b3.2 MapReduce API基本概念5 g  `' f4 ^, Y' v$ T( T! R1 h
    3.2.1 序列化1 v7 w- w& M& l9 D: q3 N: K
    3.2.2 Reporter参数9 F+ W) L' a- M/ o# W# r( c' U
    3.2.3 回调机制: w) m4 u3 b9 T: d, s
    3.3 Java API解析
    # v- ?3 j7 p2 L& A  d3.3.1 作业配置与提交
    * q5 K9 a& Z4 K$ F8 |" t3.3.2 InputFormat接口的设计与实现& e' n; u5 o& }* ^4 j8 X
    3.3.3 OutputFormat接口的设计与实现
    + E0 a! k- K. N' L& t- g* a3.3.4 Mapper与Reducer解析! b" \, [% a/ R* R7 m3 }( ]
    3.3.5 Partitioner接口的设计与实现
    6 D! o1 W( r, |" b% b* O3.4 非Java API解析
    4 \+ K/ ?0 Y4 C/ B' C3.4.1 Hadoop Streaming的实现原理
    3 w' z! W5 y8 o1 R- K3.4.2 Hadoop Pipes的实现原理
    ; `8 Q( W4 H( B9 ^. u: ]3.5 Hadoop工作流
    4 z0 N. ]' o: A: i1 j) N# g& x+ Y3.5.1 JobControl的实现原理
    1 D  ^- w: y* P/ O( E3.5.2 ChainMapperChainReducer的实现原理9 J/ u& w$ [. ?
    3.5.3 Hadoop工作流引擎
    , ~1 y8 k0 p( I% O9 y3.6 小结
    : G" |: t5 _$ W/ W! N6 k第三部分 MapReduce核心设计篇
    0 E, A& i7 ^, i# ~第4章 Hadoop RPC框架解析
    , |) h; t- W5 F8 I4 ]) w4.1 Hadoop RPC框架概述
    : ~$ a/ c& q; D. M) K4.2 Java基础知识
    0 j  U( Z; _" O0 S6 {4.2.1 Java反射机制与动态代理
    4 Z& ~( d; C) t2 A4 P; P# P4.2.2 Java网络编程2 B- s0 Z' d  x& Q9 c6 L
    4.2.3 Java NIO  i0 E8 J  k& c7 E
    4.3 Hadoop RPC基本框架分析5 R( ?3 b( ~+ G4 h6 n( r
    4.3.1 RPC基本概念( a: l4 L' c! @  N! {! X
    4.3.2 Hadoop RPC基本框架
    9 W; g& r1 Z5 `1 ^+ |/ R* m4.3.3 集成其他开源RPC框架7 F2 c& k& \9 H6 G! u* I+ d2 V
    4.4 MapReduce通信协议分析$ K9 t# n0 R3 W7 l8 g
    4.4.1 MapReduce 通信协议概述% m9 j1 c0 K4 y( @
    4.4.2 JobSubmissionProtocol通信协议
    # p! ~# ~/ r  Q7 T" t  t4.4.3 InterTrackerProtocol通信协议4 T7 q0 m# W6 g- U* R8 m
    4.4.4 TaskUmbilicalProtocol通信协议" z$ k" F+ s- e% v: |! |! \" g  e+ w
    4.4.5 其他通信协议) n0 y- d+ g. A# G1 y/ d$ @
    4.5 小结
    + ?$ ~2 m; [2 S第5章 作业提交与初始化过程分析
    + S' Z* I" p8 `" B5.1 作业提交与初始化概述
    2 |9 d0 |* g& ~' O- l5.2 作业提交过程详解
    4 [+ a% Z" h  F" {+ {9 `4 z5.2.1 执行Shell命令
    4 S' g$ `0 T1 r3 p& i* S5.2.2 作业文件上传
    ; m+ P8 t+ c7 }# N( r5.2.3 产生InputSplit文件
    . R3 q, I4 J4 W5.2.4 作业提交到JobTracker
    6 }; p4 g, l* ], \  ?! r% ~5.3 作业初始化过程详解! w/ y3 m) n" m* n
    5.4 Hadoop DistributedCache原理分析- ]3 o' J. t* h9 S+ R& f
    5.4.1 使用方法介绍0 X* d3 K% z- V' T/ r
    5.4.2 工作原理分析
    6 H, `4 m9 I0 I( o" v5.5 小结
    ; V" Q1 D% V0 Z( _. w( d/ K- z' C第6章 JobTracker内部实现剖析4 T8 I: x/ `% g5 K0 e. v
    6.1 JobTracker概述5 L# z# A7 P+ O2 ~
    6.2 JobTracker启动过程分析7 \- e# d  w# m
    6.2.1 JobTracker启动过程概述
    * |7 a3 o9 ]4 O1 |* l0 ~: S6.2.2 重要对象初始化
    # U' z4 Z2 a- R5 i$ ?$ S: w0 K6.2.3 各种线程功能
    8 ?. m2 X5 A$ F( u# k6.2.4 作业恢复  Q* V! n1 ]& A3 z: B
    6.3 心跳接收与应答
    ! T( K5 C; ~% k) @# J% c2 Y2 T  i/ C6.3.1 更新状态0 H( T' p/ i+ O
    6.3.2 下达命令% m0 T" P. n$ Z5 e0 ^0 `" D) t2 Z
    6.4 Job和Task运行时信息维护
    * {$ R' p$ \2 d: `7 o6.4.1 作业描述模型
    ! n8 |* ~9 S9 R" J. ?6.4.2 JobInProgress& `5 C4 ~* n$ ?7 i% S
    6.4.3 TaskInProgress
    3 F& A7 z" W; a% i  b* n( u$ J6.4.4 作业和任务状态转换图1 Y2 }  v$ l9 i$ d# m
    6.5 容错机制
    2 E0 Z. x- c# V/ K: k$ p% |6.5.1 JobTracker容错
    2 S4 O# V5 N& c# J6.5.2 TaskTracker容错: j6 }2 Q' Y% |
    6.5.3 JobTask容错: f0 H- h' S% i
    6.5.4 Record容错/ I& R+ L2 U( a5 C" k
    6.5.5 磁盘容错; {  E( U& |; ]( {" C
    6.6 任务推测执行原理" k" R: a' t' z% f$ [% P7 E" o
    6.6.1 计算模型假设
    - k! \% u( j) x; g+ w6.6.2 1.0.0版本的算法
    5 h% |0 J6 z, b4 f. e6.6.3 0.21.0版本的算法. p1 }) M8 f" f% i, F
    6.6.4 2.0版本的算法
      g  L7 j7 b8 e% o# w6.7 Hadoop资源管理
    7 u7 D# y% n0 R8 r. ^0 D9 g6.7.1 任务调度框架分析
    $ `/ d7 c) r8 n6.7.2 任务选择策略分析
    6 e( W0 R4 f5 s+ c) v6.7.3 FIFO调度器分析
    3 `$ I' ?2 [. U6 j( J$ W% I4 x6.7.4 Hadoop资源管理优化
    - `: X% ~5 U. B: B+ {" q9 a$ v6.8 小结
    2 _7 z1 [# D9 `第7章 TaskTracker内部实现剖析5 p; x3 o  ]8 j% ]9 c
    7.1 TaskTracker概述/ R8 g7 b, f9 v9 X' v
    7.2 TaskTracker启动过程分析( R* B& ^+ _- n) y  X
    7.2.1 重要变量初始化6 U6 {! G. I$ C+ U0 W* f: u
    7.2.2 重要对象初始化% f' m" m2 v) I$ B# W
    7.2.3 连接JobTracker' P2 S4 ^& I" i# j7 A! |
    7.3 心跳机制
    * Y$ f0 E. L# o& @' i6 Z: r/ F7.3.1 单次心跳发送
    - z$ n; |7 J# G" }* d+ ^7.3.2 状态发送
    , t& s* S/ g" w( u8 [7.3.3 命令执行
    4 P% ]/ x# ^) m7.4 TaskTracker行为分析- H) @. u7 G# ^  w2 s6 R: A
    7.4.1 启动新任务
    % J$ H  [. @, v) Q2 u& R" j7.4.2 提交任务; u$ k8 u( O* [' X) v5 s
    7.4.3 杀死任务
    1 [/ ]" D( f# f1 z7.4.4 杀死作业. }, m! F, v% u
    7.4.5 重新初始化
    ' _5 W4 ]; J5 @" }# r9 T, d7.5 作业目录管理
    & j7 ?, L- Y5 A5 _+ @; n3 `5 S7.6 启动新任务/ G6 m; O2 |$ K" [/ [2 A9 m0 s
    7.6.1 任务启动过程分析9 q. ~) L" I  \0 ^
    7.6.2 资源隔离机制( n7 v( n- B5 g
    7.7 小结
    ; ^$ {: V9 X6 {, H第8章 Task运行过程分析7 y5 U9 X+ x! Q/ l
    8.1 Task运行过程概述& z* Q/ ]* v. f$ B
    8.2 基本数据结构和算法% t  y0 h# p2 ]* ?7 g
    8.2.1 IFile存储格式. U2 _  \6 r4 o8 S  o, S
    8.2.2 排序
    $ o! B! A1 G+ w6 W0 Q8.2.3 Reporter7 ]+ @! E, G: v/ B
    8.3 Map Task内部实现
    . x( U# z6 q3 M  w) |* A; W: I: ]8.3.1 Map Task整体流程
    1 O  d! U5 g- s9 E0 A' z! G; [0 c8.3.2 Collect过程分析2 C( m1 z/ D9 X1 P' w
    8.3.3 Spill过程分析
    : @5 j% V' p  K/ b# ]: r8 C- i8.3.4 Combine过程分析. c0 f# }4 {7 S( E1 P
    8.4 Reduce Task内部实现5 u( ^2 K: a3 j; h% b
    8.4.1 Reduce Task整体流程; p9 a. U4 n6 S8 S+ H
    8.4.2 Shuffle和Merge阶段分析
    . _' m5 r! p" f. o0 ]8.4.3 Sort和Reduce阶段分析
    4 ?- h$ `8 E6 v- K) U" W' L8.5 MapReduce Task优化3 `) a# B% T* C9 p* l/ j' G* k
    8.5.1 参数调优
    3 h" B- p  r# E, {# D8 W4 a  x8.5.2 系统优化
    " s5 ^# H, ?+ s- Z1 A8 t8.6 小结
    . T, k5 B- O& ]5 R6 c$ o第四部分 MapReduce高级篇$ v8 P+ X; X$ S# j+ Z7 F9 A. y
    第9章 Hadoop性能调优. Y: B7 ?, F$ T. e5 v  E
    9.1 概述" K  f" D  f0 M6 Y
    9.2 从管理员角度进行调优4 [  k7 }4 q) Q8 v
    9.2.1 硬件选择/ s0 f6 ?: f$ `8 _- a; T
    9.2.2 操作系统参数调优
    % x  \% n! Q- {0 X4 R9.2.3 JVM参数调优
    : f5 t/ J. ?$ K8 U# L0 P' I/ Y' t9.2.4 Hadoop参数调优1 P( ~) b0 \$ U
    9.3 从用户角度进行调优
    . z4 S3 Y5 D, u: v9.3.1 应用程序编写规范
    9 f# Q4 y! q# j# X# T3 M9.3.2 作业级别参数调优' B$ X1 ~; \5 Q) ]
    9.3.3 任务级别参数调优
    8 r6 v  l4 o& D. O  l! s9.4 小结
    # Z3 i0 H1 Q' u第10章 Hadoop多用户作业调度器1 G  {* Y8 _  D8 [& Z) {7 l
    10.1 多用户调度器产生背景
    0 Z& v3 k; d) \- W* J4 F% v10.2 HOD
    / W9 o8 H0 M4 E) d9 I4 P6 o0 ^) u10.2.1 Torque资源管理器( @8 w2 K' ]) E9 I4 B( ~, Z4 Z
    10.2.2 HOD作业调度
    ) u0 }9 P$ _* b" T2 S10.3 Hadoop队列管理机制# t/ a: W+ a5 @0 q
    10.4 Capacity Scheduler实现: V( x! B9 O8 w2 p
    10.4.1 Capacity Scheduler功能介绍2 l: }  k' ]2 U# \3 Y( [) T$ s* }
    10.4.2 Capacity Scheduler实现
    4 e9 D3 y  I/ ~% T# c: D10.4.3 多层队列调度0 b" N$ h$ T! x/ W3 j3 `
    10.5 Fair Scheduler实现, _# L' @, Q1 O2 p! U
    10.5.1 Fair Scheduler功能介绍
    : |4 o* v/ a0 ], v10.5.2 Fair Scheduler实现+ K1 e2 A7 O- d+ e1 b
    10.5.3 Fair Scheduler与Capacity Scheduler对比
    9 D* @3 A; p; \' y! S$ ~6 z10.6 其他Hadoop调度器介绍& C  ^0 M# |* _" j
    10.7 小结
    & f  U( ?; H# F8 m: z( d8 x第11章 Hadoop安全机制
    9 _" |- C2 t: d11.1 Hadoop安全机制概述
    3 @- W9 U6 e2 a9 c& s0 Y11.1.1 Hadoop面临的安全问题: X+ O5 }/ v* {; [( _% R; y
    11.1.2 Hadoop对安全方面的需求
    - l# M6 }/ j5 R& _11.1.3 Hadoop安全设计基本原则
    - y# M5 d' p* I- f. C8 ~11.2 基础知识$ l2 R  a, F* T0 p  P, U
    11.2.1 安全认证机制( g0 h0 S* Z6 q; C6 |
    11.2.2 Kerberos介绍+ f5 X6 J8 y2 `6 i" \/ [
    11.3 Hadoop安全机制实现
    & `- k. q* r( ~- E11.3.1 RPC
    9 F2 ?! b6 M; q6 f; L11.3.2 HDFS/ a2 A! K2 K1 a" }/ M0 _) s" ]
    11.3.3 MapReduce9 D" f* i  s% [1 U: q
    11.3.4 上层服务& W  x1 P/ E  I5 ~
    11.4 应用场景总结
    5 T; |$ c2 Q' ~  e" l" ?' l11.4.1 文件存取
    $ A' h" W- d+ K$ y* G11.4.2 作业提交与运行
    % i' p& b% P7 B  U/ X11.4.3 上层中间件访问Hadoop1 v! D* x# X8 W7 B
    11.5 小结* P9 ~/ |) O: _
    第12章 下一代MapReduce框架6 L5 s4 d. E* k1 ?0 r
    12.1 第一代MapReduce框架的局限性8 G4 v+ H5 ?  n7 |: U
    12.2 下一代MapReduce框架概述" U, A. ?8 m, N" M
    12.2.1 基本设计思想! n0 ^7 K. D7 I
    12.2.2 资源统一管理平台
    4 o! O" ?0 G9 m8 {. j( R/ E& ]12.3 Apache YARN( @8 ]3 _6 j( P$ J$ G
    12.3.1 Apache YARN基本框架
    5 q0 }1 m- K& c/ n* ?; ], P6 ]12.3.2 Apache YARN工作流程
    * e- U. N' {4 \12.3.3 Apache YARN设计细节9 A+ `; d) m$ H  [
    12.3.4 MapReduce与YARN结合* C) ^! R3 C/ U' r! O9 C
    12.4 Facebook Corona6 q& ~* y' a8 o" J
    12.4.1 Facebook Corona基本框架0 B6 o7 p# h6 ^$ E7 L% F; X
    12.4.2 Facebook Corona工作流程( V3 Z9 f* x$ r0 {2 A9 F* g
    12.4.3 YARN与Corona对比
    / J0 |1 Z$ l5 m12.5 Apache Mesos
    6 X3 g* W3 ~5 I" W% T12.5.1 Apache Mesos基本框架! R/ J. L2 D2 o. {& _3 b7 @6 L
    12.5.2 Apache Mesos资源分配
    - R! `  N3 {+ W2 ?3 y- L) l12.5.3 MapReduce与Mesos结合7 F) J: O) a1 c( e! j& A
    12.6 小结
    # H5 N! ?1 y  J
    ; b3 I/ l0 @1 W; G1 H, ?% y
    电子书优惠获取地址:《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》
    $ Q- f5 q5 ?; Z4 f1 S/ }( N* G5 ~' {) d
    0 q3 N6 \' F4 }; A5 q

    / o& i6 ?- z* |
    回复

    使用道具 举报

  • 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  c# F; T1 z& O6 u* h3 x0 I

    $ ]9 n6 j- @4 \2 i* ^
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2025-3-29 02:15 , Processed in 0.164249 second(s), 35 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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