寒假学习6
厦门大学林子雨,赖永炫,陶继平 编著
《Spark 编程基础(Scala 版)》
教材配套
机房上机实验指南
实验 6 Spark Streaming 编程初级实践
(版本号:2018 年 7 月 19 日版本)
(题目)
主讲教师:林子雨
厦门大学数据库实验室
二零一八年七月
目录
一、实验目的...................................................................................................................................1
二、实验平台...................................................................................................................................1
三、实验内容和要求.......................................................................................................................1
1.安装 Flume ............................................................................................................................1
2. 使用 Avro 数据源测试 Flume ............................................................................................2
3. 使用 netcat 数据源测试 Flume...........................................................................................2
4.使用 Flume 作为 Spark Streaming 数据源...........................................................................2
四、实验报告...................................................................................................................................2
附录 1:任课教师介绍 ......................................................................................................................3
附录 2:课程教材介绍....................................................................................................................3
附录 3:高校大数据课程公共服务平台介绍................................................................................4
主讲教师:林子雨
http://www.cs.xmu.edu.cn/linziyu
第 1 页
厦门大学林子雨,赖永炫,陶继平 编著《Spark 编程基础(Scala 版)》 教材配套机房上机实验指南
实验 6 Spark Streaming 编程初级实践
厦门大学林子雨,赖永炫,陶继平 编著
《Spark 编程基础(Scala 版)》
第 7 章 Spark Streaming
教材配套机房上机实验指南
实验 6 Spark Streaming 编程初级实践
(题目)
E-mail: ziyulin@xmu.edu.cn 个人主页:http://www.cs.xmu.edu.cn/linziyu
一、实验目的
(1)通过实验学习日志采集工具 Flume 的安装和使用方法;
(2)掌握采用 Flume 作为 Spark Streaming 数据源的编程方法。
二、实验平台
操作系统: Ubuntu16.04
Spark 版本:2.1.0
Flume 版本:1.7.0
三、实验内容和要求
1.安装 Flume
Flume 是 Cloudera 提供的一个分布式、可靠、可用的系统,它能够将不同数据源的海量
日志数据进行高效收集、聚合、移动,最后存储到一个中心化数据存储系统中。Flume 的
核心是把数据从数据源收集过来,再送到目的地。请到 Flume 官网下载 Flume1.7.0 安装文
件,下载地址如下:
http://www.apache.org/dyn/closer.lua/flume/1.7.0/apache-flume-1.7.0-bin.tar.gz
或 者 也 可 以 直 接 到 本 教 程 官 网 的 “ 下 载 专 区 ” 中 的 “ 软 件 ” 目 录 中 下 载
apache-flume-1.7.0-bin.tar.gz。
下载后,把 Flume1.7.0 安装到 Linux 系统的“/usr/local/flume”目录下,具体安装和使
用方法可以参考教程官网的“实验指南”栏目中的“日志采集工具 Flume 的安装与使用方
主讲教师:林子雨
http://www.cs.xmu.edu.cn/linziyu
第 1 页
厦门大学林子雨,赖永炫,陶继平 编著《Spark 编程基础(Scala 版)》 教材配套机房上机实验指南
实验 6 Spark Streaming 编程初级实践
法”。
2. 使用 Avro 数据源测试 Flume
Avro 可以发送一个给定的文件给 Flume,Avro 源使用 AVRO RPC 机制。请对 Flume
的相关配置文件进行设置,从而可以实现如下功 能:在一个终端中新建一个文件
helloworld.txt(里面包含一行文本“Hello World”),在另外一个终端中启动 Flume 以后,
可以把 helloworld.txt 中的文本内容显示出来。
3. 使用 netcat 数据源测试 Flume
请对 Flume 的相关配置文件进行设置,从而可以实现如下功能:在一个 Linux 终端(这
里称为“Flume 终端”)中,启动 Flume,在另一个终端(这里称为“Telnet 终端”)中,
输入命令“telnet localhost 44444”,然后,在 Telnet 终端中输入任何字符,让这些字符可以
顺利地在 Flume 终端中显示出来。
4.使用 Flume 作为 Spark Streaming 数据源
Flume 是非常流行的日志采集系统,可以作为 Spark Streaming 的高级数据源。请把 Flume
Source 设置为 netcat 类型,从终端上不断给 Flume Source 发送各种消息,Flume 把消息汇集
到 Sink,这里把 Sink 类型设置为 avro,由 Sink 把消息推送给 Spark Streaming,由自己编写
的 Spark Streaming 应用程序对消息进行处理。
四、实验报告
《Spark 编程基础》实验报告
题目:
姓名:
日期:
实验环境:
实验内容与完成情况:
出现的问题:
解决方案(列出遇到的问题和解决办法,列出没有解决的问题):
主讲教师:林子雨
http://www.cs.xmu.edu.cn/linziyu
第 2 页
厦门大学林子雨,赖永炫,陶继平 编著《Spark 编程基础(Scala 版)》 教材配套机房上机实验指南
实验 6 Spark Streaming 编程初级实践
附录 1:任课教师介绍
林子雨(1978-),男,博士,厦门大学计算机科学系助理教授,主要研究领域为
数据库,数据仓库,数据挖掘,大数据
主讲课程:《大数据处理技术》
办公地点:厦门大学海韵园科研 2 号楼
E-mail: ziyulin@xmu.edu.cn
个人主页:http://www.cs.xmu.edu.cn/linziyu
数据库实验室网站:http://dblab.xmu.edu.cn
附录 2:课程教材介绍
林子雨、赖永炫、陶继平编著《Spark 编程基础(Scala 版)》
人民邮电出版社 ISBN:978-7-115-48816-9 定价:49.80 元
厦门大学林子雨、赖永炫和陶继平老师编著《Spark 编程基础》,以 Scala 作为开发 Spark
应用程序的编程语言,系统介绍了 Spark 编程的基础知识。全书共 8 章,内容包括大数据技
术概述、Scala 语言基础、Spark 的设计与运行原理、Spark 环境搭建和使用方法、RDD 编程、
Spark SQL、Spark Streaming、Spark MLlib 等。本书每个章节都安排了入门级的编程实践操
作,以便读者更好地学习和掌握 Spark 编程方法。本书官网免费提供了全套的在线教学资源,
包括讲义 PPT、习题、源代码、软件、数据集、授课视频、上机实验指南等。
本书可以作为高等院校计算机、软件工程、数据科学与大数据技术等专业的进阶级大数
据课程教材,用于指导 Spark 编程实践,也可供相关技术人员参考。
主讲教师:林子雨
http://www.cs.xmu.edu.cn/linziyu
第 3 页
厦门大学林子雨,赖永炫,陶继平 编著《Spark 编程基础(Scala 版)》 教材配套机房上机实验指南
实验 6 Spark Streaming 编程初级实践
欢迎访问《Spark 编程基础》教材官方网站:http://dblab.xmu.edu.cn/post/spark/
扫一扫访问教材官网
附录 3:高校大数据课程公共服务平台介绍
高校大数据课程公共服务平台,由中国高校首个“数字教师”的提出者和建设者——林
子雨老师发起,由厦门大学数据库实验室全力打造,由厦门大学云计算与大数据研究中心、
海峡云计算与大数据应用研究中心携手共建。这是国内第一个服务于高校大数据课程建设的
公共服务平台,旨在促进国内高校大数据课程体系建设,提高大数据课程教学水平,降低大
数据课程学习门槛,提升学生课程学习效果。平台服务对象涵盖高校、教师和学生。平台为
高校开设大数据课程提供全流程辅助,为教师开展教学工作提供一站式服务,为学生学习大
数据课程提供全方位辅导。平台重点打造“11 个 1 工程”,即 1 本教材(含官网)、1 个教师
服务站、1 个学生服务站、1 个公益项目、1 堂巡讲公开课、1 个示范班级、1 门在线课程、
1 个交流群(QQ 群、微信群)、1 个保障团队、1 个培训基地和 1 个实验平台。目前平台每
年访问量已经超过 100 万次,成为国内高校大数据教学知名品牌。
平台主页:http://dblab.xmu.edu.cn/post/bigdata-teaching-platform/
扫一扫访问平台主页
主讲教师:林子雨
http://www.cs.xmu.edu.cn/linziyu
第 4 页
Flume的安装与配置
# 1.创建文件夹
mkdir -p /usr/flume
# 2.解压文件
tar -zvxf apache-flume-1.7.0-bin.tar.gz -C /usr/flume/
# 3.重命名
cd /usr/flume/
mv ./apache-flume-1.7.0-bin/ ./flume-1.7.0
环境变量:


创建 avro.conf:
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = avro
a1.sources.r1.channels = c1
a1.sources.r1.bind = 0.0.0.0
a1.sources.r1.port = 4141
# Describe the sink
a1.sinks.k1.type = logger
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号