|
基于Flume+Kafka+Spark Streaming打造实时流处理项目实战课程 企业大数据流处理平台实战教程0 I7 f1 d6 O0 q2 m F9 q- e: o
$ h/ g% p- n* B% B7 k
/ b! t, V- }% b; d课程目录:
: [0 d' g7 Y0 w& [! ~! C; n" i# Z3 ~/ N9 g7 x( c
8 f# `; j5 |$ [! I8 o1-1 -导学-* W+ F. M+ p7 j+ m/ f% \
1-2 -授课习惯和学习建议
D4 @' q7 D) k# W6 R- Z, M4 f1-3 -OOTB环境使用演示! ^! y) d2 k- u; w# W
1-4 -Linux环境及软件版本介绍/ |7 [( Q q5 A( s: d; g: @
1-5 -Spark版本升级- f& i/ m1 S3 n
第2章 初识实时流处理% h: g4 A0 z6 e
本章节将从一个业务场景分析出发引出实时流处理的产生背景,对比离线处理和实时处理的区别,了解常用的实时流处理框架有哪些,实时流处理在企业级应用中各个环节的架构以及技术选型7 Q( M% h5 M6 F/ d, ~
& c+ ?8 k4 q, e, j8 z8 w2 K- G' M6 y! V% h7 f
2-1 -课程目录
/ \* P2 V; v: Q4 ~2 S2 T8 d2-2 -业务现状分析& p Y7 J, J4 u2 A3 k k
2-3 -实时流处理产生背景$ {- J3 b: j+ s9 `
2-4 -实时流处理概述6 K+ s; v$ L8 \2 \
2-5 -离线计算和实时计算对比
$ H) ]4 J. J0 t8 u5 k2-6 -实时流处理框架对比
3 A4 F7 C" h. g& x; T) v0 W& u2-7 -实时流处理架构及技术选型( @# a& c: j+ @+ d8 c
2-8 -实时流处理在企业中的应用
3 j& G* \4 |6 n- z( f) z! s/ ?第3章 分布式日志收集框架Flume
! j+ B% L) N: O. G本章节将从通过一个业务场景出发引出Flume的产生背景,将讲解Flume的架构及核心组件,Flume环境部署以及Flume Agent开发实战让大家学会如何使用Flume来进行日志的采集! r7 n7 N( _' J% { \2 c& _9 X
8 W% n$ W$ R- A( o, F# t0 ~7 _& h2 C5 W7 b
3-1 -课程目录; z6 {; Q; z A
3-2 -业务现状分析
" J) S0 r" j- L* v' y3-3 -Flume概述/ {" p7 G2 H+ O) a7 @& | @0 L6 V
3-4 -Flume架构及核心组件; I5 Y7 h4 c+ ], ~' P. e
3-5 -Flume&JDK环境部署2 L# i5 g+ }. z. @* w. L& D- w
3-6 -Flume实战案例一, [ i" p- }/ h! f
3-7 -Flume实战案例二; S4 R9 U3 A$ Z% O1 J6 z( u- k p
3-8 -Flume实战案例三(重点掌握)7 F0 [# E9 s7 j& A& P' x) y
第4章 分布式发布订阅消息系统Kafka
3 s5 o9 @5 ]+ K% u/ o* n本章节将讲解Kafka的架构以及核心概念,Kafka环境的部署及脚本的使用,Kafka API编程,并通过Kafka容错性测试让大家体会到Kakfa的高可用性,并将Flume和Kafka整合起来开发一个功能
) B; F& ?4 e3 c6 }' d7 U/ t& t9 L& R! I% f6 @( f* p: P' A
: o2 g2 [+ T' w% V4-1 -课程目录" a' Y8 S% t7 X+ N" Y0 @
4-2 -Kafka概述* p1 i8 L* D. H: i
4-3 -Kafka架构及核心概念2 }- D; K2 N! \
4-4 -Kafka单节点单Broker部署之Zookeeper安装- q' Y0 D& W! n8 s
4-5 -Kafka单节点单broker的部署及使用
+ V4 ~$ l" G+ P! O4 L* Q4-6 -Kafka单节点多broker部署及使用
7 ]7 O1 G/ Y6 J$ E' D0 b4-7 -Kafka容错性测试8 C* f7 N5 R' X* l* g
4-8 -使用IDEA+Maven构建开发环境
: t/ e, y" b$ \" _4 @/ f% l4-9 -Kafka Producer Java API编程
2 }/ t8 N1 Y Z- b9 B- ^' Y4-10 -Kafka Consumer Java API编程) z4 L1 m# l" I/ g7 ]3 i
4-11 -Kafka实战之整合Flume和Kafka完成实时数据采集
% A: B% _ {% t8 \- b# ?3 s第5章 实战环境搭建* A; r" K7 w- ^: U0 C
工欲善其事必先利其器,本章将讲解Hadoop、ZooKeeper、HBase、Spark的安装,以及如何使用IDEA整合Maven/Spark/HBase/Hadoop来搭建我们的开发环境- U7 {, U" Q; c% N- s \
: m( x o7 T) k
- D; E. g- m1 g# `7 z
5-1 -课程目录
6 i6 ^ C2 n* z$ L5-2 -Scala安装) @* [5 W: S+ y) b: R- S
5-3 -Maven安装" ^! |6 P8 j; X$ E
5-4 -Hadoop环境搭建% L+ r, v- L# x3 o
5-5 -HBase安装0 n5 E: n. B. U- ~
5-6 -Spark环境搭建/ _; w8 v; R% H# D2 Q
5-7 -开发环境搭建( ~+ \$ W# e! Z. u2 O- ?/ w
第6章 Spark Streaming入门
7 F! x5 [. |1 e4 ^本章节将讲解Spark Streaming是什么,了解Spark Streaming的应用场景及发展史,并从词频统计案例入手带大家了解Spark Streaming的工作原理8 B2 N* a/ ]: x1 F' l4 r
8 m8 t# }3 \ e6 T/ e( R, p
" W* g9 t% t* T# Z3 O
6-1 -课程目录& z0 K4 h- K. \& d4 K5 j
6-2 -Spark Streaming概述3 x2 }4 x2 R: d4 _( a; k
6-3 -Spark Streaming应用场景, i! b5 j1 }& q+ I% ?& }+ F
6-4 -Spark Streaming集成Spark生态系统的使用
8 i/ x( f3 h9 @3 ^6 A- c6-5 -Spark Streaming发展史
1 Q* h1 x8 c X' {( b- c7 R% g5 h/ ~6-6 -从词频统计功能着手入门Spark Streaming
: v5 C8 a; w" ^1 }' i4 F0 f- B: E6-7 -Spark Streaming工作原理(粗粒度)' f2 `3 R/ J0 l7 f: }
6-8 -Spark Streaming工作原理(细粒度)$ T0 u X) W; n+ M; n
第7章 Spark Streaming核心概念与编程3 G9 B& M3 W" X# d5 e: }
本章节将讲解Spark Streaming中的核心概念、常用操作,通过Spark Streaming如何操作socket以及HDFS上的数据让大家进一步了解Spark Streaming的编程( {7 f/ ~8 N0 D
9 Q5 @# h* f: ]5 G$ y2 h- T" A% h5 I: |% {6 B& r L- M
7-1 -课程目录
. N2 g( z. U/ X3 u1 ?& c6 \7-2 -核心概念之StreamingContext
; V* m/ ?8 Y0 Y+ \! t7-3 -核心概念之DStream& y! S7 |# w! w$ D- F5 ?6 V0 Y7 I$ e
7-4 -核心概念之Input DStreams和Receivers% o# o) G: X: h$ P3 X0 R3 r9 L% D
7-5 -核心概念之Transformation和Output Operations
/ I6 l6 Y, B* r( c5 H6 v7-6 -案例实战之Spark Streaming处理socket数据
' B. v, V! }$ w& \7-7 -案例实战之Spark Streaming处理文件系统数据
3 U9 T$ o# E# R/ e6 g第8章 Spark Streaming进阶与案例实战
$ U. D% r6 A$ d本章节将讲解Spark Streaming如何处理带状态的数据,通过案例让大家知道Spark Streaming如何写数据到MySQL,Spark Streaming如何整合Spark SQL进行操作
6 ~- |+ e% {4 }6 d# r! D" q
% a0 Y2 `2 b2 u" C+ p; L7 t5 f
; ~$ w, B3 I f" s8-1 -课程目录
/ w' _9 v2 r& m3 q, |' c8-2 -实战之updateStateByKey算子的使用9 x2 u: a1 M* K3 r& T
8-3 -实战之将统计结果写入到MySQL数据库中
+ [. N) F! a# p' Q8-4 -实战之窗口函数的使用4 i" K* \0 `* O
8-5 -实战之黑名单过滤
" }- a, M- R3 h: J5 I/ ?- g8-6 -实战之Spark Streaming整合Spark SQL操作
- b# c7 U. _* n5 ^第9章 Spark Streaming整合Flume
* p0 m2 H" S Z7 }! e C本章节将讲解Spark Streaming整合Flume的两种方式,讲解如何在本地进行开发测试,如何在服务器上进行测试
$ @! B$ Q8 ]5 F
8 I& J7 W$ L; O% ?/ y1 c& w
6 S" a1 i, Z7 j) O# L/ w) i" _9-1 -课程目录
( _& w7 m8 r7 i/ G& R6 k, U9-2 -Push方式整合之概述" h% _, v4 R- f
9-3 -Push方式整合之Flume Agent配置开发) o4 } t4 `4 g# }7 ^
9-4 -Push方式整合之Spark Streaming应用开发& c; [' x7 N: V1 D; M
9-5 -Push方式整合之本地环境联调0 g8 B( w6 V7 t- u3 I
9-6 -Push方式整合之服务器环境联调
$ L: `* |# c2 d0 H% ]9-7 -Pull方式整合之概述
+ u6 f4 U$ k! D# \9 g2 {8 A9-8 -Pull方式整合之Flume Agent配置开发$ X. Z; e5 c2 l# \
9-9 -Pull方式整合之Spark Streaming应用开发
4 S7 S: p6 T0 T" r1 X7 o' b# g( j9-10 -Pull方式整合之本地环境联调9 C' ` k0 Q! v4 X
9-11 -Pull方式整合之服务器环境联调! Q2 E; U) s! C* ]
第10章 Spark Streaming整合Kafka0 B( ^, P& M2 x# j4 e6 ^9 g
本章节将讲解Spark Streaming整合Kafka的两种方式,讲解如何在本地进行开发测试,如何在服务器上进行测试* @: r- x1 O! `! } I3 k0 J
% ^( Z. t! o9 G4 K2 l: r4 `% B
6 e* v0 W) }5 P10-1 -课程目录
K& T$ O0 L0 D! l% p( y& ]5 U' n10-2 -Spark Streaming整合Kafka的版本选择详解) `8 E; e* X6 q7 a- W" G7 S5 q, z
10-3 -Receiver方式整合之概述. s5 F2 n3 N6 l% ]( {
10-4 -Receiver方式整合之Kafka测试
$ {; P9 G8 T! ^# W6 l7 L: d Y10-5 -Receiver方式整合之Spark Streaming应用开发, \) Q- O: X$ a _: Q9 i
10-6 -Receiver方式整合之本地环境联调
0 w5 i2 n( M( n, [10-7 -Receiver方式整合之服务器环境联调及Streaming UI讲解
; K. r, r6 O$ N9 g8 \) f3 U10-8 -Direct方式整合之概述
2 ?' }9 c5 E- S+ }10-9 -Direct方式整合之Spark Streaming应用开发及本地环境测试
) q! O( v& \2 Q10-10 -Direct方式整合之服务器环境联调. k) s. @7 `6 [% M3 n' S
第11章 Spark Streaming整合Flume&Kafka打造通用流处理基础! r% g G# k* ~6 M
本章节将通过实战案例彻底打通Spark Streaming和Flume以及Kafka的综合使用,为后续项目实战打下坚实的基础( V' d, J: v' Q
/ U- t/ v9 j5 a' A0 D
6 H e% ?6 H3 J" y# s/ W7 q
11-1 -课程目录
& X; H# S2 m0 }% Y4 \11-2 -处理流程画图剖析1 [$ D( O% H: J* w5 n& {
11-3 -日志产生器开发并结合log4j完成日志的输出: B$ b. X4 q! Z5 F, T0 K7 `
11-4 -使用Flume采集Log4j产生的日志8 c" T2 z6 |% N }7 M
11-5 -使用KafkaSInk将Flume收集到的数据输出到Kafka# n0 U8 f) J+ |4 q; _% @* ]/ I" P6 x
11-6 -Spark Streaming消费Kafka的数据进行统计' x( B* a9 j `9 ^" H9 N9 m
11-7 -本地测试和生产环境使用的拓展; i) }4 E) p: L* y. y: `
第12章 Spark Streaming项目实战
' T6 p- w1 _% X: t4 i5 j本章节将通过一个完整的项目实战让大家学会大数据实时流处理的各个环境的整合,如何根据业务需要来设计HBase的rowkey* Q9 s1 K% E( g1 v, H7 m; l1 ~( w
$ p) }" O C6 i0 U" ~5 i6 p; @
8 {1 _2 b4 U3 v' c5 p
12-1 -课程目录: d) P( G8 Y6 ^
12-2 -需求说明( J1 ]6 R! H, G8 v3 i$ d' L( i! g
12-3 -用户行为日志介绍
3 |6 O2 h' c& F$ R/ J7 y12-4 -Python日志产生器开发之产生访问url和ip信息4 X2 i1 Z/ Q: W: [6 K
12-5 -Python日志产生器开发之产生referer和状态码信息- s3 v0 F' H7 o
12-6 -Python日志产生器开发之产生日志访问时间
: f* v T$ d0 d12-7 -Python日志产生器服务器测试并将日志写入到文件中. G% i/ x) v( N% _5 E9 p7 `
12-8 -通过定时调度工具每一分钟产生一批数据* K9 t" N, ~# R# f" {7 {( T. F0 t
12-9 -使用Flume实时收集日志信息. e/ W. ]+ j$ ?6 w& A2 v5 a
12-10 -对接实时日志数据到Kafka并输出到控制台测试$ O& k# n- p9 v1 z. A
12-11 -Spark Streaming对接Kafka的数据进行消费% {9 u7 c4 `9 v
12-12 -使用Spark Streaming完成数据清洗操作6 |" I5 N/ w: x1 }. q7 t
12-13 -功能一之需求分析及存储结果技术选型分析
: c( ]+ F( u5 f; j4 Y12-14 -功能一之数据库访问DAO层方法定义: z. e C/ a- q& i P
12-15 -功能一之HBase操作工具类开发
' [' ~4 Z& P( f% V12-16 -功能一之数据库访问DAO层方法实现
1 d; N, C1 }2 @. p8 v12-17 -功能一之将Spark Streaming的处理结果写入到HBase中
. s* _/ I$ V8 u8 h7 Q12-18 -功能二之需求分析及HBase设计&HBase数据访问层开发
; s- W. O9 t3 x; X" A: h12-19 -功能二之功能实现及本地测试' H/ _3 k# M: ` Z* ]# g
12-20 -将项目运行在服务器环境中. G( n3 m9 h7 G1 b6 ?
第13章 可视化实战3 m) i7 \$ z7 t$ v6 U& x6 y1 w7 z5 f, a! X
本章节将通过两种方式来实现实时流处理结果的可视化操作,一是使用Spring Boot整合Echarts实现,二是使用更加炫酷的阿里云产品DataV来实现/ c% j7 d8 j) ?. T2 H
: H0 e! n; y( W/ s3 t1 d& s5 W; C x, N% u+ v
13-1 -课程目录$ V1 l: w: S9 J0 {' n9 v3 l, T
13-2 -为什么需要可视化; ?8 m O0 {+ D6 o: m- m) g( [3 Q ~
13-3 -构建Spring Boot项目0 _0 h# c7 a. ]; h
13-4 -Echarts概述* b! w* F# o& R7 r+ U! c
13-5 -Spring Boot整合Echarts绘制静态数据柱状图7 c# s, p6 x8 E0 u, D
13-6 -Spring Boot整合Echarts绘制静态数据饼图
% _9 T! `8 h3 e: m- S13-7 -项目目录调整7 V1 Y1 _1 J9 E( G- H7 u
13-8 -根据天来获取HBase表中的实战课程访问次数
, v' ~$ X+ _: B* M$ D13-9 -实战课程访问量domain以及dao开发
3 m3 ?/ r# r7 ] e. x1 R. i13-10 -实战课程访问量Web层开发
; U( H3 f) y3 L& ?" T" O ]13-11 -实战课程访问量实时查询展示功能实现及扩展6 g6 b, G) Z8 Q
13-12 -Spring Boot项目部署到服务器上运行
8 v6 C/ }" L5 f2 {13-13 -阿里云DataV数据可视化介绍
7 {8 w( ?8 M4 V: [- g. e13-14 -DataV展示统计结果功能实现9 Y0 O! b0 d$ r) v; Q) a
第14章 Java拓展; c4 C- o; B j1 D9 n
本章节作为扩展内容,将带领大家使用Java来开始Spark应用程序,使得大家对于使用Scala以及Java来开发Spark应用程序都有很好的认识
; ?, v" X1 N n& n
, q- U1 t" o$ y( q' M% w- b8 W7 d# T) S/ t
14-1 -课程目录
* w f7 t2 J, G1 P14-2 -使用Java开发Spark应用程序
9 a+ Z5 F! ~& B: ^3 i! Y14-3 -使用Java开发Spark Streaming应用程序: W- B, r3 F$ ^/ @
/ q; f8 j% l) I/ }8 T, E4 z
( e: {+ p; Q. C
/ h6 z) Q. @/ u9 S, s6 L4 R# u9 Z1 g0 r* U1 ]
- B) A1 _3 C2 h v; M! M- u, k/ k# P) l5 D: C2 C
资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见
) _# i9 q; r. U; F' |. ?% i: k7 \* Q4 z: s! F: J( B: ]1 r8 R
) B$ |/ o; o7 [2 s6 o8 G
1 r" Z* M, o3 r" X x
本资源由Java自学网收集整理【www.javazx.com】 |
|