首页 > 其他分享 >flume采集目录到HDFS案例:

flume采集目录到HDFS案例:

时间:2023-08-30 15:33:06浏览次数:42  
标签:flume HDFS sinks sink1 hdfs 案例 source1 sources agent1

(1)采集需求:某服务器的某特定目录下,会不断产生新的文件,每当有新文件出现,就需要把文件采集到HDFS中去

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

  a):采集源,即source——监控文件目录 : spooldir

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

  c):source和sink之间的传递通道——channel,可用file channel 也可以用内存channel

(3):Channel参数解释:

  capacity:默认该通道中最大的可以存储的event数量;

  trasactionCapacity:每次最大可以从source中拿到或者送到sink中的event数量;

  keep-alive:event添加到通道中或者移出的允许时间;

配置文件:

#定义三大组件的名称
agent1.sources = source1
agent1.sinks = sink1
agent1.channels = channel1

# 配置source组件
agent1.sources.source1.type = spooldir
agent1.sources.source1.spoolDir = /home/hadoop/logs/
agent1.sources.source1.fileHeader = false

#配置拦截器
agent1.sources.source1.interceptors = i1
agent1.sources.source1.interceptors.i1.type = host
agent1.sources.source1.interceptors.i1.hostHeader = hostname

# 配置sink组件
agent1.sinks.sink1.type = hdfs
agent1.sinks.sink1.hdfs.path =hdfs://master:9000/weblog/flume-collection/%y-%m-%d/%H-%M
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.rollSize = 102400
agent1.sinks.sink1.hdfs.rollCount = 1000000
agent1.sinks.sink1.hdfs.rollInterval = 60
#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,HDFS,sinks,sink1,hdfs,案例,source1,sources,agent1
From: https://www.cnblogs.com/whiteY/p/17667368.html

相关文章

  • 服务器数据恢复-vmware ESXI虚拟机误还原快照导致数据丢失的数据恢复案例
    服务器数据恢复环境:从物理机迁移一台虚拟机到ESXI,迁移后做了一个快照。该虚拟机上部署了一个SQLServer数据库,存放了5年左右的数据。ESXI上有数十台虚拟机,EXSI连接了一台EVA存储,所有的虚拟机都在EVA存储上。服务器故障:由于工作人员的误操作,不小心将几年前迁移数据后做的快照还原......
  • 医学案例|Cochran's Q检验
    一、案例介绍当前有一名医生拟评价药物A对50名高血压患者的降压效果。在患者服用药物A后的第3天、第5天和第7天时分别进行记录。该医生想知道服用药物A的高血压患者血压是否一直在好转。血压好转赋值为1,血压没变化赋值为0,。部分数据如下:二、问题分析比较三组或多组二分类变量......
  • 服务器数据恢复-RAID6磁盘重组RAID5导致原RAID6数据丢失的数据恢复案例
    服务器数据恢复环境:一台存储设备中有一组由12块硬盘组建的RAID6磁盘阵列,上层采用EXT3文件系统,共划分3个LUN。服务器故障&分析:存储设备在运行过程中RAID6阵列突然不可用,管理员对故障存储进行了重新分配RAID的操作并进行了初始化。初始化一段时间后,管理员察觉有异,于是强行终止初始......
  • 闰年、数字统计和成绩分析 - Java编程案例
    目录1.判断闰年2.统计数字出现次数3.成绩分析导言:最近,我在学习Java编程过程中遇到了一些有趣的问题,其中包括判断闰年、统计数字出现次数以及分析成绩等。通过编写代码并解决这些问题,我不仅加深了对Java的理解,还提高了编程能力。在本篇博客中,我将与大家分享我遇到的这些问题以及......
  • 练习题 - Java编程案例
    当用户在Java程序中输入字符时,我们可以通过代码对这些字符进行判断和处理。在这篇博客中,我们将介绍如何使用Java编写一个程序,根据用户输入的字符进行判断,并进行相应的输出。首先,让我们来看看如何判断一个字符是否为元音字母(a、e、i、o、u)。我们可以使用Scanner类来获取用户输入的字......
  • 购物系统分析与实现 - Java编程案例
    目录1.购物系统分析2.实现购物系统2.1程序入口2.2菜单显示2.3用户输入2.4计算购买数量和剩余金额2.5结果输出3.执行购物系统总结简介:本文将介绍一个简单的购物系统的实现,使用Java编程语言来实现一个基于控制台的购物系统。通过这个实例,我们可以学习如何进行用户输入、条件......
  • 打印图形:三角形、圆形和正方形 - Java编程案例
    目录1.打印三角形2.打印圆形3.打印正方形总结简介:本文将介绍如何使用Java编程语言打印出不同的图形,包括三角形、圆形和正方形。我们将使用嵌套循环和基本的数学计算来实现这些图形的打印。1.打印三角形首先,让我们来打印一个简单的三角形。在代码中,我们使用了一个嵌套的循环来控......
  • 使用Docker-数据卷挂载案例1
      把镜像文件上传到虚拟机中 加载镜像 创建mysql文件夹和data、conf两个子文件夹 把写好的配置文件上传到文件夹中 去hub.docker.com网址中找到mysql的run运行指令 找到配置文件挂载的文件位置 找到数据储存文件挂在的文件位置修改指令  ......
  • 使用Docker-数据卷挂载案例
                 ......
  • 使用Docker-容器命令案例2
              ......