采集文件到 HDFS

需求

比如业务系统使用log4j生成的日志,日志内容不断增加,需要把追加到日志文件中的数据实时采集到hdfs

分析

根据需求,首先定义以下3大要素

采集源,即source——监控文件内容更新 : exec ‘tail -F file’

下沉目标,即sink——HDFS文件系统 : hdfs sink

Source和sink之间的传递通道——channel,可用file channel 也可以用 内存channel

定义 Flume 配置文件

cd /export/servers/apache-flume-1.8.0-bin/conf
vim tail-file.conf
agent1.sources = source1
agent1.sinks = sink1
agent1.channels = channel1
# Describe/configure tail -F source1
agent1.sources.source1.type = exec
agent1.sources.source1.command = tail -F /export/servers/taillogs/access_log
agent1.sources.source1.channels = channel1
# Describe sink1
agent1.sinks.sink1.type = hdfs
#a1.sinks.k1.channel = c1
agent1.sinks.sink1.hdfs.path = hdfs://node01:8020/weblog/flume-collection/%y-%m-%d/%H-%
agent1.sinks.sink1.hdfs.filePrefix = access_log
agent1.sinks.sink1.hdfs.maxOpenFiles = 5000
agent1.sinks.sink1.hdfs.batchSize= 100
agent1.sinks.sink1.hdfs.fileType = DataStream
agent1.sinks.sink1.hdfs.writeFormat =Text
agent1.sinks.sink1.hdfs.round = true
agent1.sinks.sink1.hdfs.roundValue = 10
agent1.sinks.sink1.hdfs.roundUnit = minute
agent1.sinks.sink1.hdfs.useLocalTimeStamp = true
# Use a channel which buffers events in memory
agent1.channels.channel1.type = memory
agent1.channels.channel1.keep-alive = 120
agent1.channels.channel1.capacity = 500000
agent1.channels.channel1.transactionCapacity = 600
# Bind the source and sink to the channel
agent1.sources.source1.channels = channel1
agent1.sinks.sink1.channel = channel1

flume案例-文件数据采集-步骤分析相关推荐

  1. flume案例-文件数据采集-运行测试

    启动 Flume cd /export/servers/apache-flume-1.6.0-cdh5.14.0-bin bin/flume-ng agent -c conf -f conf/tail ...

  2. 【ESP8266】ESP8266_NONOS_SDK开发包生成的镜像文件构建步骤分析

    ESP8266有官方提供的软件开发包.下面是对该开发包ESP8266_NONOS_SDK生成的镜像文件构建步骤分析. 一.Flash布局 首先参考官方提供编号为2A的文档,对于4MB(32Mbit) ...

  3. flume案例-网络数据采集-Flume的配置

    开发配置文件 根据数据采集的需求配置采集方案,描述在配置文件中(文件名可任意自定义) 配置我们的网络收集的配置文件 在flume的conf目录下新建一个配置文件(采集方案) vim /export/s ...

  4. flume案例-网络数据采集-启动flume

    启动配置文件 指定采集方案配置文件,在相应的节点上启动flume agent 先用一个最简单的例子来测试一下程序环境是否正常 启动agent去采集数据 bin/flume-ng agent -c co ...

  5. flume案例-网络数据采集-Flume安装

    Flume 的安装部署 下载解压修改配置文件 下载地址: http://archive.apache.org/dist/flume/1.8.0/apache-flume-1.8.0-bin.tar.g ...

  6. Flume案例Ganglia监控

    Flume案例和Flume监控系统的使用: 安装 将apache-flume-1.7.0-bin.tar.gz上传到linux的/opt/software目录下 解压apache-flume-1.7. ...

  7. 携程实时用户数据采集与分析系统

    本文由携程技术中心投递,ID:ctriptech.作者:王小波,携程技术中心框架研发部高级工程师,主要负责用户行为数据采集系统及相关数据产品研发设计工作. 一.携程实时用户数据采集系统设计实践 随着移 ...

  8. Flume 1.7 源码分析(三)程序入口

    Flume 1.7 源码分析(一)源码编译 Flume 1.7 源码分析(二)整体架构 Flume 1.7 源码分析(三)程序入口 Flume 1.7 源码分析(四)从Source写数据到Channe ...

  9. Flume 1.7 源码分析(一)源码编译

    Flume 1.7 源码分析(一)源码编译 Flume 1.7 源码分析(二)整体架构 Flume 1.7 源码分析(三)程序入口 1 说明 Flume是Cloudera提供的一个高可用的,高可靠的, ...

最新文章

  1. jQuery ajax请求成功且返回了数据,但是不进success:function()
  2. (最短路)Shopping
  3. postfix 过滤中文内容
  4. 深度学习—写作Dataset时是否应该使用shuffle
  5. “无语!只因姓True,苹果封了我的iCloud账户”
  6. Common Lisp环境篇(slime+sbcl)(零)
  7. MFC连接MySQL数据库实例
  8. Linux的程序安装和包管理
  9. java创建ssh链接池_HttpClient实战三:Spring整合HttpClient连接池
  10. python网页爬虫菜鸟教程_Python爬虫实践(7)-抓取菜鸟教程python学习路线-工具-站长头条...
  11. Android 反编译Apk修改资源文件并重新打包
  12. html打开网页一段时间字幕滚动,网页代码:求一个隔段时间可停顿的滚动字幕代码...
  13. LTE技术派报告:LTE抛弃了CDMA?
  14. 51nod-1534 棋子游戏
  15. Squid安装及运行控制_wuli大世界_新浪博客
  16. Tensorflow中 tf.train.exponential_decay() 等实现学习率衰减
  17. unity 使用LineRenderer实现飘带飞舞的效果
  18. Simulink S function 采样时间
  19. 精准医学中的深度学习和影像组学
  20. leetcode Sum 系列----寻找和为定值的多个数

热门文章

  1. Linux-安装FFmpeg
  2. 在mac上搭建了Java 环境,谨以此文写给自己
  3. impdp的一些实际问题解决方法
  4. 《大学数学遐想》系列之后记
  5. linux 应用层时间和随机数,zigbee cc2530时间
  6. 基于Axis服务端的webservice客户端实现
  7. Redis的RDB持久化和AOF持久化区别
  8. offSet().left 与position().left的区别
  9. SQL Server-表表达式基础回顾(二十四)
  10. WHY YOUR PRIVATE CLOUD COULD LOOK A LOT LIKE PAAS