一、安装
1、flume-ng-1.5.0-cdh5.3.6.tar.gz 下载
链接:https://pan.baidu.com/s/1AWPGP2qnY6_VpYr_iSnJ3w 密码:tiog
2、对flume进行解压缩:tar -zxvf flume-ng-1.5.0-cdh5.3.6.tar.gz
3、对flume目录进行重命名:mv apache-flume-1.5.0-cdh5.3.6-bin flume
4、配置相关的环境变量

vi ~/.bashrc
export FLUME_HOME=/usr/local/bigdata/flume
export FLUME_CONF_DIR=$FLUME_HOME/conf
export PATH=$PATH:$FLUME_HOME/bin
source ~/.bashrc

5、修改配置文件 flume-conf.properties
进入conf目录下,添加如下,下面agent监听指定文件夹,并上传到HDFS上去:

root@spark1:/usr/local/bigdata/flume# cd ./conf
touch flume-conf.properties
vim flume-conf.properties
#agent1
agent1.sources=source1
agent1.sinks=sink1
agent1.channels=channel1
#source1
agent1.sources.source1.type=spooldir
agent1.sources.source1.spoolDir=/usr/local/bigdata/flume_logs
agent1.sources.source1.channels=channel1
agent1.sources.source1.fileHeader = false
agent1.sources.source1.interceptors = i1
agent1.sources.source1.interceptors.i1.type = timestamp
#channel1
agent1.channels.channel1.type=file
agent1.channels.channel1.checkpointDir=/usr/local/bigdata/flume_logs_tmp_cp
agent1.channels.channel1.dataDirs=/usr/local/bigdata/flume_logs_tmp
#sink1
agent1.sinks.sink1.type=hdfs
agent1.sinks.sink1.hdfs.path=hdfs://spark1:9000/flume_logs
agent1.sinks.sink1.hdfs.fileType=DataStream
agent1.sinks.sink1.hdfs.writeFormat=TEXT
agent1.sinks.sink1.hdfs.rollInterval=1
agent1.sinks.sink1.channel=channel1
agent1.sinks.sink1.hdfs.filePrefix=%Y-%m-%d

创建本地文件夹

mkdir /usr/local/bigdata/flume_logs
mkdir /usr/local/bigdata/flume_logs_tmp_cp
mkdir /usr/local/bigdata/flume_logs_tmp
hdfs dfs -mkdir /flume_logs

6、修改配置文件

cp flume-env.sh.template flume-env.sh
vim flume-env.sh

添加java完整路径

export JAVA_HOME=/usr/local/bigdata/jdk

启动flume

flume-ng agent -n agent1 -c conf -f /usr/local/bigdata/flume/conf/flume-conf.properties -Dflume.root.logger=DEBUG,console

7、测试

在 /usr/local/bigdata/flume_logs 目录下创建一个文件,flume会自动上传到hdfs中
查看hdfs目录

root@spark1:/usr/local/bigdata/flume_logs# hdfs dfs -lsr /flume_logs
lsr: DEPRECATED: Please use 'ls -R' instead.
-rw-r--r-- 3 root supergroup 25 2018-09-17 15:03 /flume_logs/2018-09-17.1537167831660
-rw-r--r-- 3 root supergroup 11 2018-09-17 15:07 /flume_logs/2018-09-17.1537168036300

 查看日志文件

root@spark1:/usr/local/bigdata/flume_logs# hdfs dfs -text /flume_logs/2018-09-17.1537167831660

hello flume
hello word

二、flume介绍

1. Flume OG(original generation, 2009年7月):分布式日志收集系统,有Master概念,依赖于Zookeeper,分为agent, collector, storage三种角色

2. Flume NG(next generation, 2011年10月):代码重构,功能精简,去掉master, collector角色,专注数据的收集与传递

3.

4.Flume Flow:

Flow:数据采集流程·

Event:消息处理的最小单位,带有一个可选的消息头

Agent:一个独立的Flume进程,包含组件Source. Channel, Sink

Source: 以event为单位接收信息,并确保信息被推送(push)到channel .

Channel:缓存信息,确保信息在被sink处理前不会丢失,

Sink:从channel中拉取(pull)并处理信息 .

Interceptor: event拦截器,可以修改或丢弃event

处理流程:source以event为单位从数据源接收信息,然后保存到一个或多个channel中 (可以经过一个或多个interceptor的预处理) , sink从channel中拉取并处理信息(保存,丢弃或传递到下一个agent) ,然后通知channel删除信息

5.Source

Avro:监听地址接收avro信息

Thrift:监听地址,接收thrift信息

JMS:监听JMS地址,接收jms信息

Exec:监听命令输出,如tail-fxx.log

Spooling Directory:监听放置到指定文件夹下的新文件,读取文件中的内容,

Kafka:监听kafka服务器,接收kafka消息

自定义:自定义的source

6.channel

Memory Channel:Event数据存储在内存中。处理速度快,但是不能保证信息的持久化,而且容量受限于内存大小。

File Channel:Event数据存储在磁盘文件中。处理速度一般,但是可以保证信息不会丢失,,容量也几乎无限制.

JDBC Channel:Event数据存储在持久化存储中,当前Flume Channel内置支持Derby

Spillable Memory Channel :Event数据存储在内存中和磁盘上,当内存队列满了,会持久化到磁盘文件,(当前为试验性的,不建议生产环境使用)

自定义Channel:实现Custom Channel

7.sink

HDFS:数据写入HDFS

Hive:数据写入Hive数据

Logger:写入日志文件

Avтo:数据被转换成Avro Event,然后发送到配置的RPC端口上,

Thrift:数据被转换成Thrift Event,然后发送到配置的RPC端口上.

HBase:数据写入HBase数据库

ElasticSearch:数据发送到Elastic Search搜索服务器(集群)

Kafka:数据发送到Kafka

Null:丢弃到所有数据

Custom:自定义Sink实现

flume安装和介绍的更多相关文章

  1. Flume(一)Flume的基础介绍与安装

    一.背景 Hadoop业务的整体开发流程: 从Hadoop的业务开发流程图中可以看出,在大数据的业务处理过程中,对于数据的采集是十分重要的一步,也是不可避免的一步. 许多公司的平台每天会产生大量的日志 ...

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

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

  3. flume安装及配置

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

  4. Flume学习之路 (一)Flume的基础介绍

    一.背景 Hadoop业务的整体开发流程: 从Hadoop的业务开发流程图中可以看出,在大数据的业务处理过程中,对于数据的采集是十分重要的一步,也是不可避免的一步. 许多公司的平台每天会产生大量的日志 ...

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

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

  6. Sikuli图形脚本测试工具安装及介绍(适合小白的测试神器)

    sikuli简单安装以及介绍附图: 一.简单介绍 SikuliX官方网站:https://launchpad.net/sikuli/(官方的最新版本是SikuliX1.1.0更新于2015-10-06 ...

  7. sqoop、flume 安装

    sqoop安装步骤 1.上传解压tar包 tar -zxvf  sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 2.修改配置文件 进入 sqoop/conf/ c ...

  8. python Scrapy安装和介绍

    python Scrapy安装和介绍 Windows7下安装1.执行easy_install Scrapy Centos6.5下安装 1.库文件安装yum install libxslt-devel ...

  9. Visual Studio 2017正式版离线安装及介绍

    Visual Studio 2017 RTM正式版离线安装及介绍. 首先至官网下载:https://www.visualstudio.com/zh-hans/downloads/ VS 2017 正式 ...

随机推荐

  1. (19)ASP.NET Core EF创建模型(包含属性和排除属性、主键、生成的值)

    1.什么是Fluent API? EF中内嵌的约定将POCO类映射到表.但是,有时您无法或不想遵守这些约定,需要将实体映射到约定指示外的其他对象,所以Fluent API和注解都是一种方法,这两种方法 ...

  2. PowerUp攻击模块实战

    PowerUp攻击模块实战   1.将PowerUp.ps1脚本上传至目标服务器,然后在本地执行 2.使用IEX在内存中加载此脚本,执行以下命令,脚本将进行所有的检查. powershell.exe ...

  3. web安全之php中常见的INI文件配置

    php.ini 在 PHP 启动时被读取.对于服务器模块版本的 PHP,仅在 web 服务器启动时读取 一次.对于 CGI 和 CLI 版本,每次调用都会读取. * Apache web 服务器在启动 ...

  4. snkrs web端分析,canvas中的fingerpint

    snkrs web端分析,canvas中的fingerpint 代码如下 (()=>{ const canvas = document.createElement("canvas&qu ...

  5. #10056. 「一本通 2.3 练习 5」The XOR-longest Path

    题目描述 有一棵带权树,求这些边组成的路径的最大异或和. Solution 考场 SPFA 神奇 70 分代码 #include<cstdio> #include<cstdlib&g ...

  6. 除法分块 luogu2261 (坑)

    除法分块 除法分块 是指使用分块计算的方法求S=∑i=1n⌊ki⌋S=\sum^{n}_{i=1}{\lfloor{\frac{k}{i}}\rfloor}S=i=1∑n​⌊ik​⌋的值. 举个例子. ...

  7. JavaScript ES6函数式编程(三):函子

    前面二篇学习了函数式编程的基本概念和常见用法.今天,我们来学习函数式编程的最后一个概念--函子(Functor). 相信有一部分同学对这个概念很陌生,毕竟现在已经有很多成熟的轮子,基本能满足我们日常的 ...

  8. maven 打包 spring boot 生成docker 镜像

    1.所使用材料 ,spring boot 项目 基于maven ,maven 工具, docker工具 ps:为啥使用 docker 公司微服务需要启动太多,有两个优点吧! 1.方便管理,2.减少服务 ...

  9. Redis(十二)flush误操作、Redis安全、处理bigkey和寻找热点key

    一.flushall/flushdb误操作的处理 假设进行flush操作的Redis是一对主从结构的主节点,其中键值对的个数是100万,每秒写入量是1000. 1.缓存与存储 被误操作flush后,根 ...

  10. 在VMware15中安装虚拟机并使用Xshell连接到此虚拟机(超详细哦)

    首先点击创建新的虚拟机. 此处默认, 点击下一步 默认, 点击下一步 此处可以设置你的虚拟机名称和安装位置(强烈建议不要将安装位置放在系统盘). 此处可根据自己的电脑配置来设置(建议2,4),后续可以 ...