分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

Flume安装

发布时间:2023-09-06 01:42责任编辑:沈小雨关键词:暂无标签

 什么是Flume?

  Apache Flume是一个分布式、可靠、高可用的海量日志聚合系统,支持在系统中定制各种数据源发送给指定的数据接收方;同时Flume还提供简单的数据处理的方法。

 Flume的三大组成

  (1)source

    完成数据的收集,分成 transtion和 event将数据传送到Channel;

    Flume提供了丰富的数据收集方法的实现,如: AvroSource、Exce Source、Spooling Directory Source、NetCat Source、Syslog Source、Syslog TCP Source、Syslog UDP Source、HTTP Source、HDFS Source等等;

    如: Exce Source:以运行Linux命令的方式,持续的输出最新的数据,如tail -f文件名指令,在这种方式下,取出的文件名必须是指定的;

       Spool Source:是监控配置目录下新增的文件,并将文件中的内容读取出来

  (2)Sink

    Sink的作用是取出Channel中的数据,推送到相应的文件或数据存储系统(如Kafka、Hadoop的HDFS)、数据库、或者提交到远程服务器;

    Flume Sink也提供了各种sink的实现,包括HDFS sink、Logger sink、Avro sink、File Roll sink、Null sink、HBase sink等等;

    Flume Sink在设置存储数据时,可以向文件系统、数据库、Hadoop中存储数据,在日志数据较小时,可以将数据存储在文件中,并且设定一定的时间间隔保存数据。在日志数据较多时,可以将相应的日志数据存储到Hadoop中,便于日后对数据进行分析。

  (3)Channel

     Flume Channel主要提供一个队列的能力,对Source中的数据进行简单的缓存;

     Flume对Channel则提供了Memory Channel、JDBC Channel、File Channel;

     Memory Channel:可以实现高吞吐量,但是无法保证数据的完整行;

     File Channel:保证数据的完整性和一致性。在具体配置FileChannel时,建议FileChannel设置的目录和程序日志文件保存的目录在不同磁盘,从而提高效率。

  Flume的安装

  (1)确保系统已经安装了JDK1.7+,并且配置了Java的环境变量;

  (2)下载二进制安装包,地址:http://flume.apache.org/download.html

  (3)创建Flume用户,上传Flume到用户目录,解压,重命名;

  (4)复制flume-env.sh.template到flume-env.sh,复制flume-conf.properties.template到flume-conf.properties

   Flume数据收集测试

  利用netcat,发送数据,测试flume是否能收到数据:

  Flume的配置如下:

agent.sources = r1agent.channels = memoryChannelagent.sinks = k1# For each one of the sources, the type is definedagent.sources.r1.type = netcatagent.sources.r1.bind = localhostagent.sources.r1.port = 8888agent.sources.r1.channels = memoryChannel# Each sink‘s type must be definedagent.sinks.k1.type = logger ????????????????#sink的type是logger,收集的数据会进行日志打印
agent.sinks.k1.channel = memoryChannel# Each channel‘s type is defined.agent.channels.memoryChannel.type = memoryagent.channels.memoryChannel.capacity = 100agent.channels.transactionCapacity = 100

  从配置文件可以看出,此处的flume代理的名字是agent,采集的数据类型是 localhost 的netcat,端口是8888,数据存储类型是内存存储。

  启动flume:

flume-ng agent -n agent -c conf -f /home/flume/flume/conf/flume-conf.properties -Dflume.root.logger=INFO,console

  同时利用netcat发送信息,我们看flume 的输出信息:

 

  我们可以看到Flume成功收集到我们nc发送的信息。

  

Flume安装

原文地址:https://www.cnblogs.com/parryyang/p/8436367.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved