1.下载

  1. [linyouyi@hadoop01 software]$ wget https://mirrors.aliyun.com/apache/flume/1.9.0/apache-flume-1.9.0-bin.tar.gz
  2. ---- ::-- https://mirrors.aliyun.com/apache/flume/1.9.0/apache-flume-1.9.0-bin.tar.gz
  3. Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 27.148.180.227, 119.147.111.230, 119.147.111.231, ...
  4. Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|27.148.180.227|:... connected.
  5. HTTP request sent, awaiting response... OK
  6. Length: (65M) [application/gzip]
  7. Saving to: apache-flume-1.9.-bin.tar.gz
  8.  
  9. %[=======================================================================>] ,, .0MB/s in .2s
  10.  
  11. -- :: (30.0 MB/s) - apache-flume-1.9.-bin.tar.gz saved [/]

2.解压

  1. [linyouyi@hadoop01 software]$ tar -zxvf apache-flume-1.9.-bin.tar.gz -C /hadoop/module/
  2. [linyouyi@hadoop01 software]$ cd /hadoop/module/
  3. [linyouyi@hadoop01 module]$ cd apache-flume-1.9.-bin/
  4. [linyouyi@hadoop01 apache-flume-1.9.-bin]$ ll
  5. total
  6. drwxr-xr-x linyouyi linyouyi Sep : bin
  7. -rw-rw-r-- linyouyi linyouyi Nov CHANGELOG
  8. drwxr-xr-x linyouyi linyouyi Sep : conf
  9. -rw-r--r-- linyouyi linyouyi Nov DEVNOTES
  10. -rw-r--r-- linyouyi linyouyi Nov doap_Flume.rdf
  11. drwxrwxr-x linyouyi linyouyi Dec docs
  12. drwxrwxr-x linyouyi linyouyi Sep : lib
  13. -rw-rw-r-- linyouyi linyouyi Dec LICENSE
  14. -rw-r--r-- linyouyi linyouyi Nov NOTICE
  15. -rw-r--r-- linyouyi linyouyi Nov README.md
  16. -rw-rw-r-- linyouyi linyouyi Dec RELEASE-NOTES
  17. drwxrwxr-x linyouyi linyouyi Sep : tools
  18. [linyouyi@hadoop01 apache-flume-1.9.-bin]$ ll conf/
  19. total

3.启动agent

使用名为flume-ng的shell脚本启动代理程序,该脚本位于Flume发行版的bin目录中。您需要在命令行上指定代理名称,config目录和配置文件:

  1. bin/flume-ng agent -n $agent_name -c conf -f conf/flume-conf.properties.template
  2.  
  3. -n agent_name #取名称
  4. -c conf #配置文件夹
  5. -f conf/flume-conf.properties.template #配置文件

4.一个简单的例子

http://flume.apache.org/FlumeUserGuide.html#netcat-tcp-source

在这里,我们给出一个示例配置文件,描述单节点Flume部署。此配置允许用户生成事件,然后将其记录到控制台。

  1. [linyouyi@hadoop01 apache-flume-1.9.-bin]$ vim conf/example.conf
  2. #example.conf:单节点Flume配置
  3.  
  4. #在此代理上命名组件
  5. a1.sources = r1
  6. a1.sinks = k1
  7. a1.channels = c1
  8.  
  9. #描述/配置源
  10. a1.sources.r1.type = netcat
  11. a1 sources.r1.bind = localhost
  12. a1.sources.r1.port =
  13.  
  14. #描述接收器
  15. a1.sinks.k1.type = logger
  16.  
  17. #使用一个缓冲内存中事件的通道
  18. a1.channels.c1.type = memory
  19. a1.channels .c1.capacity =
  20. a1.channels.c1.transactionCapacity =
  21.  
  22. #将源和接收器绑定到通道
  23. a1.sources.r1.channels = c1
  24. a1.sinks.k1.channel = c1

此配置定义名为a1的单个代理。a1有一个侦听端口44444上的数据的源,一个缓冲内存中事件数据的通道,以及一个将事件数据记录到控制台的接收器。配置文件命名各种组件,然后描述其类型和配置参数。给定的配置文件可能会定义几个命名的代理 当一个给定的Flume进程启动时,会传递一个标志,告诉它要显示哪个命名代理。

鉴于此配置文件,我们可以按如下方式启动Flume:

  1. [linyouyi@hadoop01 apache-flume-1.9.-bin]$ bin/flume-ng agent --conf conf --conf-file conf/example.conf --name a1 -Dflume.root.logger=INFO,console

请注意,在完整部署中,我们通常会包含一个选项: - conf=<conf-dir>。所述<CONF-DIR>目录将包括一个shell脚本flume-env.sh和潜在的一个log4j的属性文件。在这个例子中,我们传递一个Java选项来强制Flume登录到控制台,我们没有自定义环境脚本。

从一个单独的终端,我们可以telnet端口44444并向Flume发送一个事件:

  1. $ telnet localhost
  2. Trying 127.0.0.1...
  3. Connected to localhost.localdomain (127.0.0.1).
  4. Escape character is '^]'.
  5. Hello world! <ENTER>
  6. OK

原始的Flume终端将在日志消息中输出事件。

  1. // :: INFO source.NetcatSource: Source starting
  2. // :: INFO source.NetcatSource: Created serverSocket:sun.nio.ch.ServerSocketChannelImpl[/127.0.0.1:]
  3. // :: INFO sink.LoggerSink: Event: { headers:{} body: 6C 6C 6F 6F 6C 0D Hello world!. }

恭喜 - 您已成功配置并部署了Flume代理!后续部分更详细地介绍了代理配置。

5.exec采集

http://flume.apache.org/FlumeUserGuide.html#exec-source

  1. [linyouyi@hadoop01 apache-flume-1.9.-bin]$ cp conf/example.conf conf/example-exec.conf
  2. [linyouyi@hadoop01 apache-flume-1.9.-bin]$ vim conf/example-exec.conf
  3. #example.conf:单节点Flume配置
  4.  
  5. #在此代理上命名组件
  6. a1.sources = r1
  7. a1.sinks = k1
  8. a1.channels = c1
  9.  
  10. #描述/配置源
  11. a1.sources.r1.type = exec
  12. a1 sources.r1.command = tail -F /hadoop/module/text.log
  13.  
  14. #描述接收器
  15. a1.sinks.k1.type = logger
  16.  
  17. #使用一个缓冲内存中事件的通道
  18. a1.channels.c1.type = memory
  19. a1.channels .c1.capacity =
  20. a1.channels.c1.transactionCapacity =
  21.  
  22. #将源和接收器绑定到通道
  23. a1.sources.r1.channels = c1
  24. a1.sinks.k1.channel = c1

启动

  1. [linyouyi@hadoop01 apache-flume-1.9.-bin]$ bin/flume-ng agent --conf conf --conf-file conf/example-exec.conf --name a1 -Dflume.root.logger=INFO,console

打开另一个客户端往/hadoop/module/text.log不断写数据,发现原始的Flume终端消息中输出信息

  1. [linyouyi@hadoop01 module]$ echo "flume" >> text.log
  2. [linyouyi@hadoop01 module]$ echo "flume" >> text.log
  3. [linyouyi@hadoop01 module]$ cat text.log
  4. flume
  5. flume
  6. flume
  7. [linyouyi@hadoop01 module]$ echo "flume" >> text.log
  8. [linyouyi@hadoop01 module]$ echo "hello linyouyi" >> text.log

原始终端输出信息

  1. -- ::, (lifecycleSupervisor--) [INFO - org.apache.flume.source.ExecSource.start(ExecSource.java:)] Exec source starting with command: tail -F /hadoop/module/text.log
  2. -- ::, (lifecycleSupervisor--) [INFO - org.apache.flume.instrumentation.MonitoredCounterGroup.register(MonitoredCounterGroup.java:)] Monitored counter group for type: SOURCE, name: r1: Successfully registered new MBean.
  3. -- ::, (lifecycleSupervisor--) [INFO - org.apache.flume.instrumentation.MonitoredCounterGroup.start(MonitoredCounterGroup.java:)] Component type: SOURCE, name: r1 started
  4. -- ::, (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:)] Event: { headers:{} body: 6C 6D flume }
  5. -- ::, (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:)] Event: { headers:{} body: 6C 6D flume }
  6. -- ::, (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:)] Event: { headers:{} body: 6C 6D flume }
  7. -- ::, (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:)] Event: { headers:{} body: 6C 6D flume }
  8. -- ::, (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:)] Event: { headers:{} body: 6C 6C 6F 6C 6E 6F hello linyouyi }

在配置文件中使用环境变

http://flume.apache.org/FlumeUserGuide.html

flume的安装和使用的更多相关文章

  1. Flume的安装与配置

    Flume的安装与配置 一.       资源下载 资源地址:http://flume.apache.org/download.html 程序地址:http://apache.fayea.com/fl ...

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

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

  3. 日志收集框架flume的安装及简单使用

    flume介绍 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统. Flume可以采集文件,socket数据包等各种形式源数据,又可以将采集到的数据输出到HDFS.hbase.h ...

  4. Flume(3)-安装部署

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

  5. Flume的安装,配置及使用

    1,上传jar包 2,解压 3,改名 4,更改配置文件 将template文件重镜像 root@Ubuntu-1:/usr/local/apache-flume/conf# cat flume-env ...

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

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

  7. Flume介绍安装使用

    APache Flume官网:http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html#memory-channel 目录 ...

  8. Flume NG安装部署及数据采集测试

    转载请注明出处:http://www.cnblogs.com/xiaodf/ Flume作为日志收集工具,监控一个文件目录或者一个文件,当有新数据加入时,采集新数据发送给消息队列等. 1 安装部署Fl ...

  9. 让你系统认识flume及安装和使用flume1.5传输数据到hadoop2.2

    本文链接: http://www.aboutyun.com/thread-7949-1-1.html 问题导读:1.什么是flume?2.如何安装flume?3.flume的配置文件与其它软件有什么不 ...

  10. flume学习安装

    近期项目组有需求点击流日志须要自己收集,学习了一下flume而且成功安装了.相关信息记录一下. 1)下载flume1.5版本号  wget http://www.apache.org/dyn/clos ...

随机推荐

  1. java中的继承、重载和覆盖是什么意思

    继承(英语:inheritance)是面向对象软件技术当中的一个概念.如果一个类别A“继承自”另一个类别B,就把这个A称为“B的子类别”,而把B称为“A的父类别”也可以称“B是A的超类”.继承可以使得 ...

  2. Java中如何实现序列化,有什么意义?

    序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化.可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间.序列化是为了解决对象流读写操作时可能引发的问题(如果不进行序 ...

  3. mysql 100%占用的解决

    早上客户反应,其网站无法访问,无限转圈 上服务器,查看磁盘空间df -h,内存使用率free -m,网络流量iftop均正常 然后使用top查看时,发现mysql的cpu使用率上升到200%. 解决过 ...

  4. 【JZOJ1914】【BZOJ2125】最短路

    description 给一个N个点M条边的连通无向图,满足每条边最多属于一个环,有Q组询问,每次询问两点之间的最短路径. analysis 建出圆方树后,可以知道仙人掌上每一个方点连着的边双其实就是 ...

  5. redis常用命令建议

    1. Redis查看当前所有的key KEYS * 2. 查看当前redis的配置信息 CONFIG GET * 3. MISCONF Redis is configured to save RDB ...

  6. 数学二分——cf700A

    二分答案 #include<bits/stdc++.h> using namespace std; #define ll long long int n,l,v1,v2,k; double ...

  7. xStream.jar踩坑指南

    前言 第一次接触Xstream,是在做一个socket通信的项目,由于是二次重新开发,所以有部分代码沿用了原来的代码(改造前用的webservice),其中xml字符串转换为对象,以及对象转换为xml ...

  8. AcWing 197. 阶乘分解 (筛法)打卡

    给定整数 N ,试把阶乘 N! 分解质因数,按照算术基本定理的形式输出分解结果中的 pipi 和 cici 即可. 输入格式 一个整数N. 输出格式 N! 分解质因数后的结果,共若干行,每行一对pi, ...

  9. SQL比较时间查询语句

    select * from table1 where datediff(mm,'2009-8-12 13:17:50', date)>0 select * from table1 select ...

  10. 当引入的类库存在一个类型时,提示“xxx”和“xxx”之间的不明确引用时,消除歧义的方法

    //using _2_命名空间和程序集.WidgetA; //using _2_命名空间和程序集.WidgetB; using System; using System.Collections.Gen ...