首先介绍一下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(一)相关推荐

  1. apache flume_Flume:使用Apache Flume收集客户产品搜索点击数据

    apache flume 这篇文章涵盖了使用Apache flume收集客户产品搜索点击并使用hadoop和elasticsearch接收器存储信息. 数据可能包含不同的产品搜索事件,例如基于不同方面 ...

  2. Flume:使用Apache Flume收集客户产品搜索点击数据

    这篇文章涵盖了使用Apache flume收集客户产品搜索点击并使用hadoop和elasticsearch接收器存储信息. 数据可能包含不同的产品搜索事件,例如基于不同方面的过滤,排序信息,分页信息 ...

  3. 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 ...

  4. Apache flume:写数据到Kafka

    Apache Flume:1.9.0 Apache Kafka:2.0.0 参考:https://github.com/apache/flume/blob/trunk/flume-ng-doc/sph ...

  5. 大数据:数据采集平台之Apache Flume

    大数据:数据采集平台之Apache Flume Apache Flume 详情请看文章:<大数据:数据采集平台之Apache Flume> Fluentd 详情请看文章:<大数据:数 ...

  6. 使用Apache Flume抓取数据(1)

    使用Apache Flume抓取数据,怎么来抓取呢?不过,在了解这个问题之前,我们必须明确ApacheFlume是什么? 一.什么是Apache Flume Apache Flume是用于数据采集的高 ...

  7. 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 ...

  8. 《Microsoft COCO Captions Data Collection and Evaluation Server》论文笔记

    出处:CVPR2015 Motivation 本文描述了MSCoco标题数据集及评估服务器(Microsoft COCO Caption dataset and evaluation server), ...

  9. 【论文阅读】MIMICS: A Large-Scale Data Collection for Search Clarification

    文章目录 Motivation Intro Contribution MIMICS-Click MIMICS-ClickExplore MIMICS-Manual Data Analysis Ques ...

最新文章

  1. 清华人工智能研究院成立,张钹姚期智分别任院长和主任
  2. catia 工厂设计_SolidWorks、creo、UG哪个更适合机械设计?
  3. IOS 关于NSString类型的属性为什么有时用copy,有时用strong呢?
  4. 波司登在“寒潮”下再创新高,羽绒服行业真的靠天吃饭?
  5. pyTorch自然语言处理简单例子
  6. Windows系统cmd命令检测dll文件
  7. 话里话外:80后,那人生初始最关键的一步
  8. 如何看待夸克,酷狗概念版等简洁型软件?
  9. django QuerySet
  10. 如何在linux centos下安装git(转)
  11. 学生如何免费使用Jetbrains旗下包含Pycharm等开发工具(中文详细教程)
  12. 程序员代码面试指南:IT名企算法与数据结构题目 PDF 版
  13. JAVA POI 对excel加密后 无法打开的解决办法
  14. 处理png图片为透明
  15. Integer类型比较
  16. 电信云堤·抗D(电信云堤清洗高防服务器)提供超强T级DDoS处理能力
  17. pip安装pytorch 清华镜像
  18. org.springframework.data.redis.RedisSystemException: Error in execution; nes遇到springboot连接Redis报错
  19. 【Kafka生产者发消息流程】
  20. matlab的figure如何保存成jpg

热门文章

  1. 总结:Linux磁盘分区管理
  2. 【hihocoder 1039 字符串消除】模拟
  3. java表格源码_Java表格JTable代码实例解析
  4. 分布式devops_维护分布式团队的DevOps心态的10个技巧
  5. 程序员项目_您如何让程序员加入您的项目?
  6. 专访第一棋牌创始人陈总:_如何解雇自己:创始人的困境
  7. raspberry pi_尝试使用Raspberry Pi Sense HAT
  8. 吊打面试官 | Java到底是值传递还是引用传递
  9. window对象(一) 计时器 定位导航 url解析 浏览历史 对话框 消息推送
  10. c++ gdb 绑定源码_2020重学Go系列:30. 非常详细的 Go 语言 GDB 调试指南