Flume多source,多sink组合框架搭建
Flume多source,多sink组合框架搭建
文章目录
- Flume多source,多sink组合框架搭建
- 一、实验目的
- 二、实验原理
- 三、实验环境
- 四、实验内容
- 五、实验步骤
- 总结
一、实验目的
1.了解Flume数据传输原理
2.了解Flume的配置文件
3.了解Flume采集与投递数据的框架搭建
二、实验原理
Flume运行的核心是Agent。它是一个完整的数据收集工具,含有三个核心组件,分别是Source、Channel、Sink。通过这些组件,Event可以从一个地方流向另一个地方。
Source可以接收外部源发送过来的数据。不同的Source可以接受不同的数据格式。
Channel是一个存储地,接收Source的输出,直到有Sink消费掉Channel中的数据。
Sink消费Channel中的数据,将数据推送给外部源或者其他Source。当Sink写入失败后,可以自动重启,不会造成数据丢失,因此很可靠。
在实际生产环境中,Flume允许多个Agent连在一起,形成前后相连的多级跳。Flume有多种组合方式。比如多个Source收集不同格式的数据输出到同一个Sink中,或者一个Source收集的数据输出到多个Sink中去。
现在有三台机器,分别是:Hadoop1,Hadoop2,Hadoop3,以Hadoop1为日志汇总
Hadoop1汇总的同时往多个目标进行输出。
三、实验环境
Linux Ubuntu 16.04
jdk-7u75-linux-x64
hadoop-2.6.0-cdh5.4.5
flume-ng-1.5.0-cdh5.4.5
四、实验内容
1.使用nc命令产生Syslog日志,发送到6868端口。
2.创建两个Channel,Channel1和Channel2,用于暂存Syslog日志。
3.创建两个Sink,Sink1_To_HDFS是将数据传入到HDFS文件系统/myflume/syslog_mem_hdfsandlogger中,Sink2_To_Logger是将数据以logger的形式,发送到console界面上。
五、实验步骤
1.首先检查Hadoop相关进程,是否已经启动。若未启动,切换到/apps/hadoop/sbin目录下,启动Hadoop。
cd /apps/hadoop/sbin
./start-all.sh
2.切换目录到/apps/flume/conf目录下,创建Flume的配置文件。
cd /apps/flume/conf
touch syslog_mem_hdfsandlogger.conf
3.使用vim打开syslog_mem_hdfsandlogger.conf文件。
vim syslog_mem_hdfsandlogger.conf
定义各个组件
#定义各个组件
agent1.sources = src
agent1.channels = ch1 ch2
agent1.sinks = des1 des2
配置Flume的Source为syslogtcp,并监听6868端口。
#配置source
agent1.sources.src.type = syslogtcp
agent1.sources.src.bind = localhost
agent1.sources.src.port = 6868
配置两个Channel,都设置为memory。
#配置channel
agent1.channels.ch1.type = memory
agent1.channels.ch2.type = memory
配置hdfs sink,将数据发送到HDFS上。
#配置hdfs sink
agent1.sinks.des1.type = hdfs
agent1.sinks.des1.hdfs.path = hdfs://localhost:9000/myflume4/syslog_mem_hdfsandlogger/
agent1.sinks.des1.hdfs.useLocalTimeStamp = true
#设置flume临时文件的前缀为 . 或 _ 在hive加载时,会忽略此文件。
agent1.sinks.des1.hdfs.inUsePrefix=_
#设置flume写入文件的前缀是什么
agent1.sinks.des1.hdfs.filePrefix = q7
agent1.sinks.des1.hdfs.fileType = DataStream
agent1.sinks.des1.hdfs.writeFormat = Text
#hdfs创建多久会新建一个文件,0为不基于时间判断,单位为秒
agent1.sinks.des1.hdfs.rollInterval = 20
#hdfs写入的文件达到多大时,创建新文件 0为不基于空间大小,单位B
agent1.sinks.des1.hdfs.rollSize = 10
#hdfs有多少条消息记录时,创建文件,0为不基于条数判断
agent1.sinks.des1.hdfs.rollCount = 5
#hdfs空闲多久就新建一个文件,单位秒
agent1.sinks.des1.hdfs.idleTimeout = 20
配置logger sink。
#配置logger sink
agent1.sinks.des2.type = logger
把上面设置的组件关联起来。
##下面是把上面设置的组件关联起来(把点用线连起来)
agent1.sources.src.channels = ch1 ch2
agent1.sinks.des1.channel = ch1
agent1.sinks.des2.channel = ch2
4.启动Flume,执行收集工作。
切换目录到/apps/flume目录下,启动flume-ng的配置。
cd /apps/flume
flume-ng agent -c /conf -f /apps/flume/conf/syslog_mem_hdfsandlogger.conf -n agent1 -Dflume.root.logger=DEBUG,console
新打开一个窗口,执行nc命令,向6868端口发送消息。
echo "hello can you hear me?" | nc localhost 6868
5.查看执行效果
可以看到,执行flume-ng配置的界面输出效果为:
从上面可以看到sink.LoggerSink,也就是发送给logger的输出。
再来查看HDFS上的输出。
hadoop fs -ls -R /
hadoop fs -cat /myflume4/syslog_mem_hdfsandlogger/*
总结
以上就是今天要讲的内容,本文简单介绍了Flume运行的核心是Agent。它是一个完整的数据收集工具,含有三个核心组件,分别是Source、Channel、Sink。通过这些组件,Event可以从一个地方流向另一个地方。
Flume多source,多sink组合框架搭建相关推荐
- 三十九、Flume自定义Source、Sink
上篇文章咱们基于Flume举了几个例子,包括它的扇入扇出等等.这篇文章我们主要来看一下怎样通过自定义Source和Sink来实现Flume的数据采集.关注专栏<破茧成蝶--大数据篇>,查看 ...
- 大数据——Flume组件Source、Channel和Sink具体使用
Flume组件Source.Channel和Sink使用说明 Flume Sources Avro Source 配置范例 Thrift Source 配置范例 Exec Source 配置范例 JM ...
- [ETL] Flume 理论与demo(Taildir Source Hdfs Sink)
一.Flume简介 1. Flume概述 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据: ...
- Flume的开发之 自定义 source 自定义 sink 自定义拦截器
一:开发相关 加入 jar 包依赖: <dependency> <groupId>org.apache.flume</groupId> <artifactId ...
- [转载]SSH框架搭建详细图文教程
什么是SSH? SSH对应 struts spring hibernatestruts 采用MVC模式,主要是作用于用户交互spring 采用IOC和AOP~作用比较抽象,是用于项目的松耦合hiber ...
- React-Native 之 GD (一)目录结构与第三方框架使用与主题框架搭建
1.APP效果图 2.工程环境配置 IOS: 将压缩包内的 Images.xcassets 文件夹直接替换掉我们iOS工程中的 Images.xcassets 文件夹. 这时候我们可以看到所有图片资源 ...
- 基于GitBook框架搭建技术文档平台
源宝导读:为了向用户更好的传递ERP开放平台的价值与技术知识,我们基于GitBook框架搭建了一个文档中心站点,本文将介绍此站点的设计与实现过程. 一.项目架构图 因为文档会涉及到很多的产品线,所以目 ...
- ssm框架搭建连接mysql_从零开始搭建SSM框架(Spring + Spring MVC + Mybatis)
最近在回顾和总结一些技术,想到了把之前比较火的 SSM 框架重新搭建出来,作为一个小结,同时也希望本文章写出来能对大家有一些帮助和启发,因本人水平有限,难免可能会有一些不对之处,欢迎各位大神拍砖指教, ...
- hexo评论_【前端简历加分】hexo框架搭建个人博客站点,手把手教学
最近,粉丝们在金九银十期间也是不断的面试,有比较多的毕业生说我在这个期间出多一些面试题,上几期都是倾向于面试文章,这期出一次简历加分项操作,使用hexo框架搭建个人博客. 作为应届毕业生或者1-3年工 ...
最新文章
- Kafka剖析(一):Kafka背景及架构介绍
- java perm 查看_高级 Java 必须掌握:JVM 分析工具和查看命令,超详细
- iPhone 15有望配备潜望式摄像头 供应商已宣布投资建厂
- 下拉刷新和UITableView的section headerView冲突的原因分析与解决方案
- ffmpeg处理RTMP流媒体的命令大全
- html清除两端浮动,HTML中如何实现浮动与清除浮动
- 宝塔控制面板配置Nginx 安全证书
- 《Effective C#》读书笔记——条目25:用事件模式实现通知使用C#表达设计
- 2020-09-10
- 下载Cisco Packet Tracer 模拟器 含汉化教程
- Conky--linux自定义桌面监控
- 三通道HART / Modbus网关HTM-631
- 【生信技能树】GEO数据库挖掘 P5
- VS2015基于对话框的MFC倒计时器
- 利用腾讯云函数做蓝奏云解析API
- 访问者模式Visitor
- 匿名函数 和 拉姆达表达式
- nrm install 安装与使用
- 计算机取证(Windows)FTK+X-Way取证复制
- 计算机系统在英语中的运用,在应用系统中探究计算机屏幕英语句法规律.doc