Flume 1.4.0 User Guide 地址:http://archive.cloudera.com/cdh4/cdh/4/flume-ng-1.4.0-cdh4.6.0/FlumeUserGuide.html

本文档主要用来记录如何在日志服务器和hdfs服务器端利用flume-ng将已经写好的日志传输到hdfs。

一 安装与环境配置

下载地址  http://archive.cloudera.com/cdh4/cdh/4/flume-ng-latest.tar.gz ,使用chd4版本。

解压到服务器目录。

配置JAVA_HOME和PATH (具体路径参考实际情况)

declare -x JAVA_HOME="/usr/java/default"

export PATH=$JAVA_HOME:$PATH

export PATH=/home/dongxiao.yang/apache-flume-1.4.0-cdh4.6.0-bin/bin:$PATH

二   程序参数配置

flume-ng的程序参数主要通过修改各种配置文件实现。 (具体路径参考实际情况)

1 flume-ng默认程序最大内存为20m,打开解压文件路径下的/home/dongxiao.yang/apache-flume-1.4.0-cdh4.6.0-bin/conf/flume-env.sh.template文件

修改如下一行

#JAVA_OPTS="-Xms100m -Xmx200m -Dcom.sun.management.jmxremote"

改为

JAVA_OPTS="-Xms64m -Xmx300m -Dcom.sun.management.jmxremote"

将flume-env.sh.template重命名为flume-env.sh使配置生效。

2 配置source channel sink。

服务器端的配置文件conf.properties

日志服务器端的配置文件conf.properties
#define agent1
agent1.sources = source1
agent1.channels = channel1
agent1.sinks = sink1
#Describe the source
agent1.sources.source1.type = spooldir
# source 读取源日志的路径
agent1.sources.source1.spoolDir = /home/dongxiao.yang/flumespool 
#agent1.sources.source1.fileHeader =true
 
#Describe the sink
#agent1.sinks.sink1.type = logger
agent1.sinks.sink1.type = avro
#avro sink 发送数据的地址和端口
agent1.sinks.sink1.hostname= 218.241.157.74
agent1.sinks.sink1.port = 10000
# avro 数据发送前会进行压缩,共有19个级别的压缩
agent1.sinks.sink1.compression-type = deflate
 
#Describe the channel
agent1.channels.channel1.type = file
#file channle checkpoint文件的路径
agent1.channels.channel1.checkpointDir = /home/dongxiao.yang/checkpoint
# file channel data文件的路径
agent1.channels.channel1.dataDirs = /home/dongxiao.yang/data
# file channel 每次传输事件的个数
agent1.channels.channel1.transactionCapacity = 10000
#file channel 最多储存事件的个数
agent1.channels.channel1.capacity= 10000000
 
 
#Bind the source and sink to the channel
agent1.sources.source1.channels = channel1
agent1.sinks.sink1.channel = channel1
hdfs端的conf.properties
#define
agent1.sources = source1
agent1.channels = channel1
agent1.sinks = sink1
 
#Describe the source
agent1.sources.source1.type = avro
# avro source 监听的地址和端口
agent1.sources.source1.bind = 0.0.0.0
agent1.sources.source1.port = 10000
# avro source 读取的数据是压缩过的,类型必须与 前一个 avro sink相同
agent1.sources.source1.compression-type =deflate
 
#Describe the sink
agent1.sinks.sink1.type = hdfs
# 写入hdfs的路径
agent1.sinks.sink1.hdfs.path = /tmp/flume
# 文件前缀
agent1.sinks.sink1.hdfs.filePrefix = test
agent1.sinks.sink1.hdfs.rollCount = 0
agent1.sinks.sink1.hdfs.rollInterval=0
agent1.sinks.sink1.hdfs.rollSize=0
agent1.sinks.sink1.hdfs.batchSize=5000
#文件在完全没有流写入后60s关闭
agent1.sinks.sink1.hdfs.idleTimeout=60
#数据写入hdfs时进行压缩
agent1.sinks.sink1.hdfs.fileType = CompressedStream 
#数据写入hdfs时压缩的种类
agent1.sinks.sink1.hdfs.codeC = gzip
 
# Use a channel which buffers events in memory
agent1.channels.channel1.type = memory
agent1.channels.channel1.capacity = 100000
agent1.channels.channel1.transactionCapacity = 5000
 
#Bind the source and sink to the channel
agent1.sources.source1.channels = channel1

三 启动程序

运行程序位于解压文件/bin目录下。运行前需要先为flume-ng赋予可执行权限:chmod 777 flume-ng。

在bin目录下运行命令 ,程序即可执行。

flume-ng agent --conf /home/dongxiao.yang/apache-flume-1.4.0-cdh4.6.0-bin/conf --conf-file /home/dongxiao.yang/apache-flume-1.4.0-cdh4.6.0-bin/conf/conf.properties

--name agent1 -Dflume.root.logger=INFO,DAILY -Duser.timezone=UTC+8

其中 --conf 对应的是配置文件目录

--conf-file 对应配置文件

--name 对应配置文件内的angent的名字

-D对应日志以及运行时区

flume-ng 使用spool source 传输文件到hdfs的更多相关文章

  1. Flume NG Getting Started(Flume NG 新手入门指南)

    Flume NG Getting Started(Flume NG 新手入门指南)翻译 新手入门 Flume NG是什么? 有什么改变? 获得Flume NG 从源码构建 配置 flume-ng全局选 ...

  2. 高可用Hadoop平台-Flume NG实战图解篇

    1.概述 今天补充一篇关于Flume的博客,前面在讲解高可用的Hadoop平台的时候遗漏了这篇,本篇博客为大家讲述以下内容: Flume NG简述 单点Flume NG搭建.运行 高可用Flume N ...

  3. Flume NG高可用集群搭建详解

    .Flume NG简述 Flume NG是一个分布式,高可用,可靠的系统,它能将不同的海量数据收集,移动并存储到一个数据存储系统中.轻量,配置简单,适用于各种日志收集,并支持 Failover和负载均 ...

  4. Flume NG简介及配置

    Flume下载地址:http://apache.fayea.com/flume/ 常用的分布式日志收集系统: Apache Flume. Facebook Scribe. Apache Chukwa ...

  5. Flume NG 简介及配置实战

    Flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用.Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 clo ...

  6. Flume NG初次使用

    一.什么是Flume NG Flume是一个分布式.可靠.和高可用性的海量日志采集.聚合和传输的系统,支持在日志系统中定制各类数据发送方,用于收集数据:同时Flume提供对数据的简单处理,并写到各种数 ...

  7. 【转】Flume(NG)架构设计要点及配置实践

    Flume(NG)架构设计要点及配置实践   Flume NG是一个分布式.可靠.可用的系统,它能够将不同数据源的海量日志数据进行高效收集.聚合.移动,最后存储到一个中心化数据存储系统中.由原来的Fl ...

  8. 【Flume NG用户指南】(1)设置

    作者:周邦涛(Timen) Email:zhoubangtao@gmail.com 转载请注明出处:  http://blog.csdn.net/zhoubangtao/article/details ...

  9. 【Flume NG用户指南】(2)构造

    作者:周邦涛(Timen) Email:zhoubangtao@gmail.com 转载请注明出处:  http://blog.csdn.net/zhoubangtao/article/details ...

随机推荐

  1. power desinger 学习笔记<四>

    Tools <display preferences> <content table> <advanced> Columns 选择放大镜图标 进入窗口 选择要顺序显 ...

  2. hdoj1847(博弈论)

    代码: #include<stdio.h>int main(){ int N; while(scanf("%d",&N)!=EOF) printf(N%3==0 ...

  3. 解决linux .so的链接时符号依赖问题

    问题描述 target: a.out SO:libmyfile.so 依赖描述: a.out: libmyfile.so libmyfile.so:  libssl.so.1.0.0 libssl.s ...

  4. Javascript中的函数(Function)与对象(Object)的关系

    今天我们来尝试理解Function和Object.因为这个里面有些人前期可能会搞糊涂.他们之间到底是什么关系.当然也不除外当初的我. 注意:官方定义: 在Javascript中,每一个函数实际上都是一 ...

  5. MongoDB 与传统关系型数据库mysql比较

    与关系型数据库相比,MongoDB的优点: 转载自  http://blog.sina.com.cn/s/blog_966e430001019s8v.html①弱一致性(最终一致),更能保证用户的访问 ...

  6. sphinx ---rotate 运行机制

    如果sphinx在运行中,要indexer时,需要加上--rotate参数,这样索引完就直接生效了. 原因是sphinx的searchd在启动时会创建一个 .spl 锁文件,并在关闭时会删除它.在in ...

  7. Webservices-2.C#创建web服务,及引用访问、代码访问

    注:web服务简介Webservices-1.web服务定义简介 以下均以C#语言为例 一.创建web服务(简单介绍,主要讨论客户端引用) 打开VS创建网站项目,在网站项目中添加“WEB服务(ASMX ...

  8. windows7任务栏上的图标修复

    Technorati 标记: 疑难杂症   今天,我在使用Windows 7的时候,因为操作一些系统文件,发现桌面下角的个别正在运行的图标不见了,但是,我们如果再打开一个新程序,又会提醒你已经在运行了 ...

  9. 【Java】对服务器程序的理解

    Login:------------->方法 Data:----->类.API数据 Collection:-------->集合 Data Source File: Database ...

  10. Oracle中数字格式的文本化处理

    Select TO_CHAR(123.0233,'FM999,999,90.09') FROM DUAL 1.小数点后面的0指示至少保留1位小数,9表示最多保留两位小数 2.小数点前面的0指示至少保留 ...