1 下载安装包并解压

下载地址:http://flume.apache.org/download.html

解压:tar zxvf apache-flume-1.8.0-bin.tar.gz

2 配置环境变量

vi ~/.bashrc

配置环境变量:

export FLUME_HOME=/hmaster/flume/apache-flume-1.8.0-bin
export FLUME_CONF_DIR=$FLUME_HOME/con

export PATH=$PATH:$FLUME_HOME/bin

让配置生效

source ..bashrc

配置flume-env.sh文件的JavaHome

export JAVA_HOME=/hmaster/javaenv/jdk1.8.0_181

3 Flume部署示例

1 Avro

在/hmaster/flume/apache-flume-1.8.0-bin/conf目录下新建netcat.conf配置文件

Flume可以通过Avro监听某个端口并捕获传输的数据,具体配置示例如下:

#那么我们也给这个三个组件分别取名字
a2.sources = r1
a2.channels = c1
a2.sinks = k1

#定义具体的source内容
#这里是执行命令以及下面对应的具体命令
#这个命令执行后的数据返回给这个source
a1.sources.r1.type = netcat

a1.sources.r1.bind = localhost

a1.sources.r1.port = 44444

#定义具体的channel信息
#我们source定义好了,就要来定义我们的channel
a2.channels.c1.type = memory
a2.channels.c1.capacity = 10000
a2.channels.c1.transactionCapacity = 100

#定义具体的sink信息
#这个logger sink,就是将信息直接打印到控制台
#就是打印日志
a2.sinks.k1.type = logger

#最后来组装我们之前定义的channel和sink
a2.sources.r1.channels = c1
a2.sinks.k1.channel = c1

运行FlumeAgent,监听本机的44444端口

-n  后面对应agent名称

-c 配置文件目录

-f 配置文件地址

flume-ng agent -n a1 -c conf -f ../conf/netcat.conf

// 打开另一终端,通过telnet登录localhost的44444,输入测试数据

$ telnet localhost 44444

// 查看flume收集数据情况

2 Spool

1 配置spool.conf用于监控目录userlogs 的文件,将文件内容发送到本地60000端口

Spool用于监测配置的目录下新增的文件,并将文件中的数据读取出来。需要注意两点:拷贝到spool目录下的文件不可以再打开编辑、spool目录下不可包含相应的子目录。具体配置文件示例如下

#定义agent名称,source,channel,sink的名称
#a1就是我们给agent起的名字,我们知道有多个agent,那么我们就是通过这个来进行区别
#我们知道agent包含了三个重要的组件,有source,channel,sink
#那么我们也给这个三个组件分别取名字
a2.sources = r1
a2.channels = c1
a2.sinks = k1

#定义具体的source内容
#这里是执行命令以及下面对应的具体命令
#这个命令执行后的数据返回给这个source
a2.sources.r1.type = spooldir
a2.sources.r1.spoolDir = /home/hadoop/hadoop-2.9.0/userlogs

#定义具体的channel信息
#我们source定义好了,就要来定义我们的channel
a2.channels.c1.type = memory
a2.channels.c1.capacity = 10000
a2.channels.c1.transactionCapacity = 100

#定义具体的sink信息
#就是将数据转换成Avro Event 然后发送到配置的rpc端口上
a2.sinks.k1.type = avro
a2.sinks.k1.hostname= localhost
a2.sinks.k1.port= 60000

#最后来组装我们之前定义的channel和sink
a2.sources.r1.channels = c1
a2.sinks.k1.channel = c1

2 配置spool2.conf用于从本地60000端口获取数据并写入HDFS

#定义agent名称,source,channel,sink的名称
a3.sources = r1
a3.channels = c1
a3.sinks = k1

#定义具体的source内容
a3.sources.r1.type= avro
a3.sources.r1.bind= localhost
a3.sources.r1.port= 60000
#定义具体的channel信息
#我们source定义好了,就要来定义我们的channel
a3.channels.c1.type = memory
a3.channels.c1.capacity = 10000
a3.channels.c1.transactionCapacity = 100

#定义具体的sink信息
a3.sinks.k1.type = hdfs
a3.sinks.k1.hdfs.path = hdfs://192.168.79.2:9000/flume/event2
a3.sinks.k1.hdfs.filePrefix = events-
a3.sinks.k1.hdfs.fileType = DataStream

#最后来组装我们之前定义的channel和sink
a3.sources.r1.channels = c1
a3.sinks.k1.channel = c1

flume安装配置的更多相关文章

  1. Flume篇---Flume安装配置与相关使用

    一.前述 Copy过来一段介绍Apache Flume 是一个从可以收集例如日志,事件等数据资源,并将这些数量庞大的数据从各项数据资源中集中起来存储的工具/服务,或者数集中机制.flume具有高可用, ...

  2. 具体图解 Flume介绍、安装配置

    写在前面一: 本文总结"Hadoop生态系统"中的当中一员--Apache Flume 写在前面二: 所用软件说明: 一.什么是Apache Flume 官网:Flume is a ...

  3. Flume简介与使用(一)——Flume安装与配置

    Flume简介与使用(一)——Flume安装与配置 Flume简介 Flume是一个分布式的.可靠的.实用的服务——从不同的数据源高效的采集.整合.移动海量数据. 分布式:可以多台机器同时运行采集数据 ...

  4. flume安装及配置

    Flume安装 介绍 Flume本身的安装比较简单(flume的介绍请参考http://blog.csdn.net/rzhzhz/article/details/7448633),安装前先说明几个概念 ...

  5. 01 Flume系列(一)安装配置

    01 Flume系列(一)安装配置 Flume(http://flume.apache.org/) is a distributed, reliable, and available service ...

  6. CentOS6安装各种大数据软件 第七章:Flume安装与配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  7. 3.flume安装以及环境配置

    1.安装jdk 我这里已经安装过了,这里就不演示了 2.安装flume 安装cdh版本的,http://archive.cloudera.com/cdh5/cdh/5/ 安装完毕之后,配置环境变量. ...

  8. FLUME安装&环境(一):netcat类型配置

    1.下载软件 在 /opt/deploy 下新建 flume 文件夹: # mkdir / opt/deploy / flume 到Flume官网上http://flume.apache.org/do ...

  9. Linux安装配置Flume

    概述 Apache Flume是一个分布式,可靠且可用的系统,用于高效地收集,汇总和将来自多个不同源的大量日志数据移动到集中式数据存储.Apache Flume的使用不仅限于日志数据聚合.由于数据源是 ...

随机推荐

  1. 如何理解JavaScript中的原型和原型链

    首先是一张关系图,避免抽象化理解时产生的困难 Function对象 函数对象是JavaScript学习中不可避免的一部分,而且这一部分相对重要且抽象 函数的创建方式有2种: 字面量创建 var foo ...

  2. Class的 getSuperclass与getGenericSuperclass区别

    一.getSuperclass   返回直接继承的父类(由于编译擦除,没有显示泛型参数)  Class<? super T> getSuperclass()           返回表示此 ...

  3. 2018网站Https升级完全攻略

    这篇文章主要讲下HTTPs升级的全部流程,包括SSL/TLS证书获取,证书安装,网站调试(将站内http资源全部改为https+重定向等),升级成功后向谷歌webmaster和GA的重新提交新的网站. ...

  4. gridview单击选中勾选框

    1.Dev2005版本: gridView1.OptionsBehavior.ShowEditorOnMouseUp = false;2.Dev2013版本: gridView1.OptionsBeh ...

  5. Java获取客户端真实IP

    一般情况下,我们可以使用 request 的 getRemoteAddr()  方法获取客户端实际 IP ,但是使用反向代理后,我们使用 getRemoteAddr() 是无法获取真实的  IP 的. ...

  6. 更改TestStep的request header和获取TestStep的response header

    更改TestStep的request header for example def userId = "xxxxxxxxxxxxx" def request = context.t ...

  7. GridControl 主从模式(Master-detail)子表格获取行数据

    今天遇到一个问题,gridcontrol使用主从表的时候,在子表中获取子表的行数据时居然获取不到,郁闷了很久.然后在网上找到方法(出处在这里:https://q.cnblogs.com/q/83412 ...

  8. 1.5 select编写

    1.with:用于指定临时命名的结果 2.select A from B   在B中查看A 3.into 插入语句  例如:select A.B into 表1 from 表2 4.where 指定搜 ...

  9. SpringMVC详细学习笔记

    Spring MVC   1 spring MVC简介:   Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构 ...

  10. shell脚本登录数据库

    #!/bin/bashHOSTNAME="localhost" #数据库信息 PORT="3306" USERNAME="root" PAS ...