一、flume简介

1.1.1 概述

  1. Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。
  2. Flume可以采集文件,socket数据包、文件、文件夹、kafka等各种形式源数据,又可以将采集到的数据(下沉sink)输出到HDFS、hbase、hive、kafka等众多外部存储系统中
  3. 一般的采集需求,通过对flume的简单配置即可实现
  4. Flume针对特殊场景也具备良好的自定义扩展能力,

因此,flume可以适用于大部分的日常数据采集场景

1.1.2 运行机制

  1. Flume分布式系统中最核心的角色是agent,flume采集系统就是由一个个agent所连接起来形成
  2. 每一个agent相当于一个数据传递员,内部有三个组件:
    1. Source:采集组件,用于跟数据源对接,以获取数据
    2. Sink:下沉组件,用于往下一级agent传递数据或者往最终存储系统传递数据
    3. Channel:传输通道组件,用于从source将数据传递到sink

1.1.3 Flume采集系统结构图

1. 简单结构

单个agent采集数据

2. 复杂结构

多级agent之间串联

二、kafka简介

2.1、简介

kafka是最初由linkedin公司开发的,使用scala语言编写,kafka是一个分布式,分区的,多副本的,多订阅者的日志系统(分布式MQ系统),可以用于搜索日志,监控日志,访问日志等。

2.2、支持的语言

kafka目前支持多种客户端的语言:java、python、c++、php等

2.3、apache kafka是一个分布式发布-订阅消息系统

apache kafka是一个分布式发布-订阅消息系统和一个强大的队列,可以处理大量的数据,并使能够将消息从一个端点传递到另一个端点,kafka适合离线和在线消息消费。kafka消息保留在磁盘上,并在集群内复制以防止数据丢失。kafka构建在zookeeper同步服务之上。它与apache和spark非常好的集成,应用于实时流式数据分析。

2.4、其他的消息队列

RabbitMQ

Redis

ZeroMQ

ActiveMQ

2.5kafka的好处

可靠性:分布式的,分区,复制和容错的。

可扩展性:kafka消息传递系统轻松缩放,无需停机。

耐用性:kafka使用分布式提交日志,这意味着消息会尽可能快速的保存在磁盘上,因此它是持久的。

性能:kafka对于发布和定于消息都具有高吞吐量。即使存储了许多TB的消息,他也爆出稳定的性能。

kafka非常快:保证零停机和零数据丢失。

三、数据采集案例

3.1 整体数据流程

使用flume监控源头文件夹下的文件,当有新的文件时,自动采集文件数据到kafka。

3.2 flume的采集配置文件

#为我们的source channel  sink起名

a1.sources = r1

a1.channels = c1

a1.sinks = k1

#指定我们的source收集到的数据发送到哪个管道

a1.sources.r1.channels = c1

#指定我们的source数据收集策略

a1.sources.r1.type = spooldir

a1.sources.r1.spoolDir = /export/servers/flumedata

a1.sources.r1.deletePolicy = never

a1.sources.r1.fileSuffix = .COMPLETED

a1.sources.r1.ignorePattern = ^(.)*\\.tmp$

a1.sources.r1.inputCharset = GBK

#指定我们的channel为memory,即表示所有的数据都装进memory当中

a1.channels.c1.type = memory

#指定我们的sink为kafka  sink,并指定我们的sink从哪个channel当中读取数据

a1.sinks.k1.channel = c1

a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink

a1.sinks.k1.kafka.topic = test

a1.sinks.k1.kafka.bootstrap.servers = node01:9092,node02:9092,node03:9092

a1.sinks.k1.kafka.flumeBatchSize = 20

a1.sinks.k1.kafka.producer.acks = 1

3,4 采集结果图

采集完成后,源头文件会自动加上completed后缀

flume日志图

kafka消费端接收到的数据

四、总结

主要核心就是flume采集配置文件的开发,配置好source.channel.sink三个组件。

flume+kafka整合采集数据案例相关推荐

  1. Flume跨服务器采集数据

    在大数据的采集中,我们常用Flume来进行数据的采集,一般的我们会从Web Server服务器中收集数据,将数据存储在另一台服务器的hdfs文件系统做离线分析或者sink到另一台服务器的kafka消息 ...

  2. Flume+Kafka+Storm+Redis构建大数据实时处理系统:实时统计网站PV、UV+展示

    http://blog.51cto.com/xpleaf/2104160?cid=704690 1 大数据处理的常用方法 前面在我的另一篇文章中<大数据采集.清洗.处理:使用MapReduce进 ...

  3. 利用Flume将MySQL表数据准实时抽取到HDFS

    转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取 ...

  4. flume mysql hdfs_利用Flume将MySQL表数据准实时抽取到HDFS

    一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取从MySQL数据库增量抽取数据到HDFS,然后用HAWQ的外部表进行访问.这种方式只需要很少量的配置即可完成数据抽 ...

  5. 大数据———Flume与Kafka整合

    环境配置 名称 版本 下载地址 Centos 7.0 64x 百度 Flume 1.8.0 http://flume.apache.org/download.html Kafka 2.11 http: ...

  6. Flume安装部署,采集方案配置文件编写案例,启动agent采集数据

    1.2 Flume实战案例 1.2.1 Flume的安装部署 1.Flume的安装非常简单,只需要解压即可,当然,前提是已有hadoop环境 上传安装包到数据源所在节点上 然后解压 tar -zxvf ...

  7. Flume+Kafka双剑合璧玩转大数据平台日志采集

    点击上方蓝色字体,选择"设为星标" 回复"资源"获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 大数据真好玩 点击右侧关注,大数据真好 ...

  8. [大数据] 搜索日志数据采集系统 flume+hbase+kafka架构 (数据搜狗实验室)

    1 采集规划 说明: D1 日志所在服务器1 -bigdata02.com D2 日志所在服务器2 -bigdata03.com A flume2 - bigdata02.com 日志收集 C flu ...

  9. Flume+Kafka+SparkStreaming整合

    目录 1.Flume介绍.2 1.1 Flume数据源以及输出方式.2 1.2 Flume的核心概念.2 1.3 Flume结构.2 1.4 Flume安装测试.3 1.5 启动flume4 2.Ka ...

最新文章

  1. magento获取判断当前页或句柄handles
  2. dex2oat 加载多次
  3. 备忘录怎么用红笔标注_错题本的正确打开方法,你用对了吗?
  4. linux创建指定大小的文件
  5. Java学习笔记——函数式接口
  6. Windows Phone开发(44):推送通知第二集——磁贴通知
  7. php打印订单,WooCommerce: 打印订单
  8. 2018.1.30-31 开始racket,避免mutation,lazy evaluation
  9. 可以替代basemap的几个工具
  10. 轻松办公信息化 六大OA产品优劣点评
  11. 虚拟机安装教程win7_vm16虚拟机|vmware16安装教程
  12. (转)所谓“降维打击”到底什么意思?
  13. 2020央行全面降准,货币政策操作仍有较大空间
  14. Amazon 的IoT之路
  15. Redis 缓存清理策略
  16. 超级账本 —— 面向企业的分布式账本
  17. usart hmi(串口屏)常用命令
  18. java 编译期常量
  19. transition过渡的基本概念(逆战班)
  20. ipadpro怎么分屏_2020款iPad Pro开箱测评:下一个十年,打开AR新世界的大门

热门文章

  1. vue-fullcalendar 日历插件
  2. 网站内嵌百度地图定向到公司位置
  3. 科学计算与数学建模-线性方程组求解的迭代法 思维导图
  4. VS2019许可证过期解决办法
  5. elang和python互通的例子
  6. 【MATLAB基础】MATLAB与Word互联(4)
  7. 店铺logo设计免费在线生成
  8. STM32 ADC最大采样频率
  9. win10、win7系统64位oracle11g安装教程以及32位plsql连接教程
  10. nopi 缩小字体填充_我在超市里改字体