Data Collection with Apache Flume(一)
首先介绍一下Flume是个神马东东。Flume可以实现从多种数据源获取数据,然后传递到不同的目标路径。通常是利用Flume传送logs到不同的地方,例如从web server收集logs文件然后传送到hadoop cluster进行分析之类的。Flume配置灵活简单,可以实现不同情况的日志传送,确实是一款不错的工具。
OK,接下来先看看怎么安装配置Flume。大家可以从http://flume.apache.org获取Flume的最新二进制版本。下载好后,解压,然后将flume的bin目录加到PATH中(这里默认系统已经安装好了java,并且已经将java的bin目录添加到PATH中)。最后进入flume目录中找到conf目录,将里面的flume-env.sh.template复制成flume-env.sh,然后往里面添加JAVA_HOME即可。至此就安装好了。
下面先解释一下Flume里面的几个重要角色,然后我们配置几个agent玩玩。
Flume里面有四个重要的角色,分别是source,channel,sink,event。Source负责收集数据并创建一个event,然后将event传递到指定的channel,接着event通过channel到达sink,sink负责将event的输出传递到指定的目标位置。简而言之,就是source→channel→sink→destination,其中传送的是event。
OK,先来看看一个简单agent。这个agent我们用来接收网络数据并写到flume的日志中。配置代码如下:
agent1.sources = netsource//指定source类型为netsource agent1.sinks = logsink//指定sink类型为logsink agent1.channels = memorychannel//指定channel类型为memorychannel,就是将数据读到内存中,然后传送agent1.sources.netsource.type = netcat //netsource类型为netcat agent1.sources.netsource.bind = localhost//绑定本机 agent1.sources.netsource.port = 3000//监听端口为本机的3000 agent1.sinks.logsink.type = logger//logsink的类型为loggeragent1.channels.memorychannel.type = memory //指定类型是memory agent1.channels.memorychannel.capacity = 1000//指定数据缓存大小 agent1.channels.memorychannel.transactionCapacity = 100agent1.sources.netsource.channels = memorychannel//指定source传送的channel agent1.sinks.logsink.channel = memorychannel//指定sink的接收channel
将上面代码命名为agent1.conf并保持在flume的工作目录即可(我比较懒,没有新建,就直接使用下载后解压的flume目录了)。
接下来启动这个agent!在终端中输入:flume-ng agent --conf conf --conf-file agent1.conf --name agent1 (--conf 指定conf目录,--conf-file指定配置文件名,--name指定agent名字)。
然后打开另一个终端窗口,使用curl工具从本地的3000端口输入一些数据,在到flume的日志文件中查看。即可看到数据已经已日志的格式保存到日志文件中。
到这里,我们已经完成了一个简单的抓取数据的过程。可是我们发现要进入目录读取比较麻烦,那我们干脆将数据写出到console吧。
只需要在启动命令后面加上参数-Dflume.root.logger=INFO,console即可。
好了,我们来看看结果。可以看到,我们每次输入,内容都会在另一个终端同步显示。
OK,这次就到这里。下一次再实现其他的agent!!谢谢大家的阅读。本人水平有限,如有纰漏,请不吝指正!不胜感激!
转载于:https://www.cnblogs.com/UUhome/p/4305163.html
Data Collection with Apache Flume(一)相关推荐
- apache flume_Flume:使用Apache Flume收集客户产品搜索点击数据
apache flume 这篇文章涵盖了使用Apache flume收集客户产品搜索点击并使用hadoop和elasticsearch接收器存储信息. 数据可能包含不同的产品搜索事件,例如基于不同方面 ...
- Flume:使用Apache Flume收集客户产品搜索点击数据
这篇文章涵盖了使用Apache flume收集客户产品搜索点击并使用hadoop和elasticsearch接收器存储信息. 数据可能包含不同的产品搜索事件,例如基于不同方面的过滤,排序信息,分页信息 ...
- org.apache.flume.conf.ConfigurationException: Channel c1 not in active set.
1 错误详细信息 WARN conf.FlumeConfiguration: Could not configure sink k1 due to: Channel c1 not in active ...
- Apache flume:写数据到Kafka
Apache Flume:1.9.0 Apache Kafka:2.0.0 参考:https://github.com/apache/flume/blob/trunk/flume-ng-doc/sph ...
- 大数据:数据采集平台之Apache Flume
大数据:数据采集平台之Apache Flume Apache Flume 详情请看文章:<大数据:数据采集平台之Apache Flume> Fluentd 详情请看文章:<大数据:数 ...
- 使用Apache Flume抓取数据(1)
使用Apache Flume抓取数据,怎么来抓取呢?不过,在了解这个问题之前,我们必须明确ApacheFlume是什么? 一.什么是Apache Flume Apache Flume是用于数据采集的高 ...
- Flume-ng运行出错: Caused by: java.net.BindException: 地址已在使用org.apache.flume.lifecycle.LifecycleSupervis
Flume下杀死collector再恢复出现错误 2019-08-29 15:57:52,578 (lifecycleSupervisor-1-5) [ERROR - org.apache.flume ...
- 《Microsoft COCO Captions Data Collection and Evaluation Server》论文笔记
出处:CVPR2015 Motivation 本文描述了MSCoco标题数据集及评估服务器(Microsoft COCO Caption dataset and evaluation server), ...
- 【论文阅读】MIMICS: A Large-Scale Data Collection for Search Clarification
文章目录 Motivation Intro Contribution MIMICS-Click MIMICS-ClickExplore MIMICS-Manual Data Analysis Ques ...
最新文章
- 清华人工智能研究院成立,张钹姚期智分别任院长和主任
- catia 工厂设计_SolidWorks、creo、UG哪个更适合机械设计?
- IOS 关于NSString类型的属性为什么有时用copy,有时用strong呢?
- 波司登在“寒潮”下再创新高,羽绒服行业真的靠天吃饭?
- pyTorch自然语言处理简单例子
- Windows系统cmd命令检测dll文件
- 话里话外:80后,那人生初始最关键的一步
- 如何看待夸克,酷狗概念版等简洁型软件?
- django QuerySet
- 如何在linux centos下安装git(转)
- 学生如何免费使用Jetbrains旗下包含Pycharm等开发工具(中文详细教程)
- 程序员代码面试指南:IT名企算法与数据结构题目 PDF 版
- JAVA POI 对excel加密后 无法打开的解决办法
- 处理png图片为透明
- Integer类型比较
- 电信云堤·抗D(电信云堤清洗高防服务器)提供超强T级DDoS处理能力
- pip安装pytorch 清华镜像
- org.springframework.data.redis.RedisSystemException: Error in execution; nes遇到springboot连接Redis报错
- 【Kafka生产者发消息流程】
- matlab的figure如何保存成jpg
热门文章
- 总结:Linux磁盘分区管理
- 【hihocoder 1039 字符串消除】模拟
- java表格源码_Java表格JTable代码实例解析
- 分布式devops_维护分布式团队的DevOps心态的10个技巧
- 程序员项目_您如何让程序员加入您的项目?
- 专访第一棋牌创始人陈总:_如何解雇自己:创始人的困境
- raspberry pi_尝试使用Raspberry Pi Sense HAT
- 吊打面试官 | Java到底是值传递还是引用传递
- window对象(一) 计时器 定位导航 url解析 浏览历史 对话框 消息推送
- c++ gdb 绑定源码_2020重学Go系列:30. 非常详细的 Go 语言 GDB 调试指南