zoukankan      html  css  js  c++  java
  • Flume NG安装部署及数据采集测试

    转载请注明出处: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安装部署完毕。

  • 相关阅读:
    Data Base mysql备份与恢复
    java 乱码问题解决方案
    【知识强化】第二章 物理层 2.1 通信基础
    【知识强化】第二章 进程管理 2.2 处理机调度
    【知识强化】第二章 进程管理 2.1 进程与线程
    【知识强化】第一章 操作系统概述 1.3 操作系统的运行环境
    【知识强化】第一章 网络体系结构 1.1 数据结构的基本概念
    【知识强化】第一章 网络体系结构 1.2 计算机网络体系结构与参考模型
    【知识强化】第一章 网络体系结构 1.1 计算机网络概述
    【知识强化】第一章 操作系统概述 1.1 操作系统的基本概念
  • 原文地址:https://www.cnblogs.com/xiaodf/p/6023453.html
Copyright © 2011-2022 走看看