Flume笔记--source端监听目录,sink端上传到HDFS

官方文档参数解释:http://flume.apache.org/FlumeUserGuide.html#hdfs-sink

需要注意:文件格式,fileType=DataStream 默认为SequenceFile,是hadoop的文件格式,改为DataStream就可直接读了(SqeuenceFile怎么用还不知道。。)
配置文件:

hdfs.conf

a1.sources = r1
a1.sinks = k1
a1.channels = c1

# Describe/configure the source
a1.sources.r1.type = spooldir
a1.sources.r1.channels = c1
a1.sources.r1.spoolDir = /usr/local/hadoop/apache-flume-1.6.0-bin/logs
a1.sources.r1.fileHeader = true

# Describe the sink
a1.sinks.k1.type = hdfs
a1.sinks.k1.channel = c1
a1.sinks.k1.hdfs.path = hdfs://node4:9000/user/flume/logs/%Y-%m-%d-%H
a1.sinks.k1.hdfs.filePrefix = Syslog
#a1.sinks.k1.hdfs.fileSuffix = .log #设定后缀
a1.sinks.k1.hdfs.round = true
a1.sinks.k1.hdfs.roundValue = 10
a1.sinks.k1.hdfs.roundUnit = minute
#--触发roll操作的文件大小in bytes (0: never roll based on file size)
a1.sinks.k1.hdfs.rollSize = 128000000
#--在roll操作之前写入文件的事件数量(0 = never roll based on number of events)
a1.sinks.k1.hdfs.rollCount = 0
#--文件格式:默认SequenceFile,可选 DataStream \ CompressedStream
a1.sinks.k1.hdfs.fileType = DataStream  #DataStream可以直接读出来
#--Format for sequence file records. “Text” or “Writable”
a1.sinks.k1.hdfs.writeFormat = Text
#--使用local time来替换转移字符 (而不是使用event header的timestamp)
a1.sinks.k1.hdfs.useLocalTimeStamp = true

# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

启动hadoop

启动flume:

./flume-ng agent -c . -f /usr/local/hadoop/apache-flume-1.6.0-bin/conf/hdfs.conf -n a1 -Dflume.root.logger=INFO,console

在被监听的文件夹下生成日志文件:

for i in {1000..2000}; do echo "test line $i" >> /usr/local/hadoop/apache-flume-1.6.0-bin/logs/spool_text$i.log;  done;

查看hdfs: http://node4:50070

时间: 2024-12-29 07:36:51

Flume笔记--source端监听目录,sink端上传到HDFS的相关文章

flume实例一、监听目录日志上传到其他服务器

一.flume-ng简介 请参考官方文档:http://flume.apache.org/FlumeUserGuide.html 二.实例 需求说明:需要监控一个目录,并自动上传到服务器,且需要在传输过程中进行加密. 整体方案:n个client-agent -->server-agent client-agent: a1.sources = r1 a1.channels = c1 a1.sinks = k1 #source a1.sources.r1.type = spooldir a1.sou

flume实例二、监听目录日志上传到HDFS文件系统

一.概述 接实例一,实例一中server-aget是把日志上传保存到服务器上面,随着日志越来越大,公司启动了hadoop项目,需要把日志直接上传hdfs中保存,配置文件target_hdfs.conf如下: a2.sources = r2 a2.channels = c2 a2.sinks = k2 #source a2.sources.r2.type = avro a2.sources.r2.channels = c2 a2.sources.r2.compression-type = defl

带有进度条监听事件的文件上传

第一种方法:(利用jquery中自带的xhr属性) jsp页面代码: 1 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 <html> 3 <head> 4 <title>文件上传监听</title> 5 </head> 6 <style> 7 #box{ 8 width: 300px; 9 he

百度编辑器contentChange监听不到图片上传

将ueditor组件化到java项目中,当调用组件后,绑定函数,监听contentchange如下图: um.addListener("contentChange",function(){ var content=UE.getEditor('editor').getContent(); $("#content").html(content);}); 当内容变化时,获取变化复制到data中,没有问题,可是在单张图片上传时,在图片上传过程中调用了函数,图片上传成功后,没

Flume监听文件目录sink至hdfs配置

一:flume介绍 Flume是一个分布式.可靠.和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据:同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力.,Flume架构分为三个部分 源-Source,接收器-Sink,通道-Channel. 二:配置文件 此配置文件source为一个目录,注意,该目录下的文件应为只读,不可写,且文件名不能相同,采用的channels为file,sink为hdfs,此处往hdfs写的策略是当时间达到3600s或者

PostgreSQL数据库服务端监听设置及客户端连接方法教程

众所周知,PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统),是一个可以免费使用的开放源代码数据库系统.本文详细介绍了PostgreSQL数据库服务端监听设置及客户端连接方法,具体如下: 一.背景介绍: 本文所述PostgreSQL服务端运行在RedHat Linux上,IP为:192.168.230.128客户端安装在Windows XP上, IP为:192.168.230.1 二.配置方法: 1.修改服务端/etc/postgresql/9.5/main/postgr

Nodejs学习笔记(八)--- Node.js + Express 实现上传文件功能(felixge/node-formidable)

目录 前言 formidable简介 创建项目并安装formidable 实现上传功能 运行结果 部分疑惑解析 写在之后 前言 前面讲了一个构建网站的示例,这次在此基础上再说说web的常规功能----文件上传,示例以一个上传图片的功能为例子 上传功能命名用formidable实现,示例很简单! PS:最近比较忙,距上一次更新已经比较久了^_^! formidable简介 nodejs原生实现上传还是比较麻烦,有兴趣的自已去参考一下网上有网友写的代码 这里选择了formidable,也是githu

PHP服务端如何通过程序将图上传到指定的图片服务器与图片服务器的优化方案

一:PHP服务端如何通过程序将图上传到指定的图片服务器与图片服务器的优化方案 (1) php服务器把图片处理成缩率图或指定大小的图片在通过PHP程序代码 操作FTP 上传到图片服务器. 二:图片服务器的优化方案 (1)用独立的图片服务器处理图片[LigHttpd图片服务器],从处理图片上来看性能要高过Apached和nginx.(2)查看是否是带宽问题导致=>>>确保带宽充足(3)硬盘的IO读写性能[磁盘列阵=>购买多个磁盘] 1)raid0:至少两个硬盘,图片保存在不同的磁盘上.

4.基础知识,“服务端监听端口”应用,实现功能

%a.启动一个监听端口 %b.客户端可以向服务端的这个接口发送数据 %c.服务端接受到数据,执行相应的操作,操作完成后把结果发回给客户端 %d.客戶端關閉連接,服務端清理數據 %server_manager.erl 模块,代码文件,放在网站:GitHub 1.启动后监听端口 2.客户端连接服务端 3.客户端发送的数据不同,服务端的对应操作也不同 4.服务端逻辑出现问题,客户端发送其他的数据导致服务端无法继续使用