转载请注明出处:http://www.cnblogs.com/xiaodf/

Flume作为日志收集工具,监控一个文件目录或者一个文件,当有新数据加入时,采集新数据发送给消息队列等。

1 安装部署Flume

若要采集数据节点的本地数据,每个节点都需要安装一个Flume工具,用来做数据采集。

1.1 下载并安装

到官网去下载最新版本的Flume

下载地址为:http://flume.apache.org/,目前最新版本为1.6.0,需要1.7及以上版本的JDK。

1、解压

tar -xzvf apache-flume-1.6.0-bin.tar.gz  -C /usr/local/

2、安装JDK1.7

如果节点上JDK版本低于1.7,需要安装1.7或以上版本的JDK

JDK 1.7 下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

在Flume目录下创建一个java目录,存放JDK

cd /usr/local/apache-flume-1.6.0-bin
mkdir java
cd java
tar -xzvf jdk-7u79-linux-x64.tar.gz

1.2 配置Flume系统参数

修改 flume-env.sh 配置文件,主要是JAVA_HOME变量设置

cd /usr/local/apache-flume-1.6.0-bin/conf
cp flume-env.sh.template flume-env.sh

在flume-env.sh里面设置FLUME_CLASSPATH变量和JAVA_HOME变量,

示例:

export JAVA_HOME=/usr/local/apache-flume-1.6.0-bin/java/jdk1.7.0_79
FLUME_CLASSPATH="/usr/local/apache-flume-1.6.0-bin/"

变量具体内容根据实际修改

1.3 添加Flume第三方依赖

此处自定义了一个flume拦截器,没有的话,可忽略此步。

添加第三方依赖包flume-plugins-1.0-SNAPSHOT.jar,此包实现了一个Flume拦截器,将Flume采集到的数据进行序列化、结构化等预处理,最后每条数据生成一条Event数据返回。

cd /usr/local/apache-flume-1.6.0-bin
mkdirplugins.d --创建依赖目录,目录名必须为plugins.d
cdplugins.d
mkdirflume-plugins --项目目录,目录名随意
cdflume-plugins
mkdirlib --jar包目录,目录名必须为lib

将第三方jar包flume-plugins-1.0-SNAPSHOT.jar放在lib目录下

1.4 创建Flume agent配置文件

创建flume启动配置文件,指定source,channel,sink 3个组件内容。每个组件都有好几种配置选项,具体配置请查看Flume官网。

创建配置文件flume.conf,示例如下:

a1.sources = x1
a1.sinks = y1
a1.channels = z1
# Describe/configure thesource
a1.sources.x1.type =exec
a1.sources.x1.channels =z1
a1.sources.x1.command =tail -F /home/xdf/exec.txt
# Describe the sink
a1.sinks.y1.type =logger
# Use a channel whichbuffers events in memory
a1.channels.z1.type =memory
a1.channels.z1.capacity= 1000
a1.channels.z1.transactionCapacity= 100
# Bind the source andsink to the channel
a1.sources.x1.channels =z1
a1.sinks.y1.channel = z1

1.5 启动Flume Agent

进入Flume安装目录,开启agent。

cd /usr/local/apache-flume-1.6.0-bin
./bin/flume-ng agent--conf conf --conf-file flume.conf --name a3 -Dflume.root.logger=INFO,console

注意:-Dflume.root.logger=INFO,console仅为 debug 使用,请勿生产环境生搬硬套,否则大量的日志会返回到终端。-c/--conf 后跟配置目录,-f/--conf-file 后跟具体的配置文件,-n/--name 指定agent的名称。

1.6 测试

上面配置的example.conf文件,实现的功能是监控文件/home/xdf/exec.txt,

如果有新数据写入时,Flume就会采集到新数据并打印在控制台上。

测试用例:向/home/xdf/exec.txt文件中写入内容“hello flume”。

echo 'hello flume'>> /home/xdf/exec.txt

Flume 终端窗口此时会打印出如下信息,就表示成功了:

2015-06-3016:01:52,910 (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO -org.apache.flume.sink.LoggerSink.process(LoggerSink.java:94)]
Event: {headers:{} body: 68 65 6C 6C 6F 20 66 6C 75 6D 65 hello flume }

至此,Flume安装部署完毕。

Flume NG安装部署及数据采集测试的更多相关文章

  1. 日志采集框架Flume以及Flume的安装部署(一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统)

    Flume支持众多的source和sink类型,详细手册可参考官方文档,更多source和sink组件 http://flume.apache.org/FlumeUserGuide.html Flum ...

  2. 02_ Flume的安装部署及其简单使用

    一.Flume的安装部署: Flume的安装非常简单,只需要解压即可,当然,前提是已有hadoop环境 安装包的下载地址为:http://www-us.apache.org/dist/flume/1. ...

  3. Flume(3)-安装部署

    一. 下载 Flume官网地址 http://flume.apache.org/ 文档查看地址 http://flume.apache.org/FlumeUserGuide.html 下载地址 htt ...

  4. solr安装部署、solr测试创建core、用solrj 访问solr(索引和搜索)

    一.安装solr4.8: 1.把apache-solr-4.8.1\example\webapps下的solr.war文件拷贝到Tomcat下的Tomcat7.0\webapps目录下,tomcat启 ...

  5. flume的安装部署

    系统环境:centos7.5  64位系统 1.下载安装包 官网下载离线安装包:apache-flume-1.8.0-bin.tar.gz 也可以使用linux命令下载: wget -c http:/ ...

  6. Linux下Flume的安装部署

    一.前置条件 Flume需要依赖JDK 1.8+,JDK安装方式见本仓库: Linux环境下JDK安装 二 .安装步骤 2.1 下载并解压 下载所需版本的Flume,这里我下载的是CDH版本的Flum ...

  7. Hive安装部署及简单测试 网页《一》

    1.首先关闭机器上之前配置的分布式Hadoop 命令: (在hadoop的安装目录中)  sbin/stop-dfs.sh              关闭: yarn   命令:  sbin/stop ...

  8. Flume的概述和安装部署

    一.Flume概述 Flume是一种分布式.可靠且可用的服务,用于有效的收集.聚合和移动大量日志文件数据.Flume具有基于流数据流的简单灵活的框架,具有可靠的可靠性机制和许多故障转移和恢复机制,具有 ...

  9. 2 安装部署flume

    本文对flume进行安装部署 flume是什么?传送门:https://www.cnblogs.com/zhqin/p/12230301.html 0.要安装部署在日志所在的服务器,或者把日志发送到日 ...

随机推荐

  1. daydayup1 codeforces141c

    题意:给定n个数字,代表每个人前面有几个人比他高,让你构造一个height数组,满足条件 思路:直接贪心就好,假设到第i个人,设他的高度为i-a[i]+1,前面比他高的人每个人的高度加1

  2. 个人纪录(初)----配置文件.properties的简单读取

    本文为个人文本纪录. demo:::: 1.创建普通的java项目:这实例项目名字叫properties. 2.创建.properties文件:src目录下创建XX.properties文件,识别&q ...

  3. HDU 1005 F(Contest #1)

    题意: 已知f[1] = f[2] = 1,输入三个数a,b,n,求f[n] = (a*f[n-1]+b*f[n-2])%7的结果 分析: f[n-1]和f[n-2]最多为7种情况(0,1,2,3,4 ...

  4. php 错误堆栈

    ob_start();  debug_print_backtrace();   $errpr = ob_get_clean();

  5. Erlang&RabbitMQ服务安装配置

    RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发.RabbitMQ据说具有良 ...

  6. Html标签第三课

    1.css div { position:absolute; } #d1 { height:100px; width:100px; border: solid 1px red; background- ...

  7. [转]as3 算法实例【输出1 到最大的N 位数 题目:输入数字n,按顺序输出从1 最大的n 位10 进制数。比如输入3,则输出1、2、3 一直到最大的3 位数即999。】

    思路:如果我们在数字前面补0的话,就会发现n位所有10进制数其实就是n个从0到9的全排列.也就是说,我们把数字的每一位都从0到9排列一遍,就得到了所有的10进制数. /** *ch 存放数字 *n n ...

  8. 方法的重载overload

    /*方法的重载overload * 重载:在同一个类里可以定义一个或者一个以上的方法 *     参数类型不一致 *     参数数量不一致 *     */ public class Chongza ...

  9. C++初始化列表

    C++初始化列表 定义一个类对象时,常常使用初始化列表实例化一个对象,在进入构造函数函数体之前对成员变量完成初始化操作.普通成员变量既可以在初始化中初始化,也可以在函数体重赋值:const成员变量只能 ...

  10. build and set proxy in Ubuntu

    build http://www.2cto.com/os/201310/249690.html set http://www.360doc.com/content/11/1112/00/2617151 ...