![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Flume
文章平均质量分 76
Lnho
发表是最好的记忆
展开
-
Flume学习笔记(一)安装与简单使用
本文环境如下: 操作系统:CentOS 7.2.1511 64位 Flume版本:1.6.01. 系统需求Flume需要Java 1.6及以上(推荐1.7),对Agent监控目录的读写权限。2. 下载软件包到Flume官网上https://flume.apache.org/download.html下载软件包,例如:wget "https://mirrors.cnnic.cn/apache原创 2016-07-26 13:56:46 · 13545 阅读 · 10 评论 -
Flume性能测试报告
1. 测试环境1.1 硬件CPU:Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz(8核) 内存:16G1.2 软件Flume:1.6.0 Hadoop:2.6.0-cdh5.5.0 Kfaka:2.11-0.9.0.1 JDK:1.8.0_91-b14 64位 1.3 测试文件文件大小:107M ,共490010条记录1.4 Flume配置(原创 2016-07-15 13:42:09 · 13559 阅读 · 4 评论 -
Flume学习笔记(二)问题整理
本文环境如下: 操作系统:CentOS 7.2.1511 64位 Flume版本:1.6.01. 当Flume与Hadoop不在同一服务器上当Flume与Hadoop不在同一服务器上时,又配置了写HDFS,则Flume启动时会报找不到类的错误。 需要添加Hadoop相关的包到flume的classpath配置中(或者直接拷贝到flume的lib文件夹中)。 具体需要的包,我是在ma原创 2016-08-04 13:51:11 · 3645 阅读 · 1 评论 -
Flume 1.7 源码分析(三)程序入口
Flume 1.7 源码分析(一)源码编译 Flume 1.7 源码分析(二)整体架构 Flume 1.7 源码分析(三)程序入口 4 程序入口启动Flume的过程可以简单分为2个步骤: 1. 获取相关配置文件(一般来说就是flume-conf.properties)。 2. 启动各组件。不特别说明,本文中的组件是指实现了LifecycleAware接口的类的对象,一般就是原创 2017-02-27 13:20:03 · 4164 阅读 · 5 评论 -
Flume 1.7 源码分析(二)整体架构
Flume 1.7 源码分析(一)源码编译 Flume 1.7 源码分析(二)整体架构 3 整体架构Flume有三大组件:Source、Channel、Sink。Source就是数据来源,例如Web Server产生日志后,可使用ExecSource执行tail -F命令后不断监听日志文件新生成的数据,然后传给Channel。Channel就是一个缓存队列,由于读取数据和写入数据的速原创 2017-02-27 13:07:56 · 4128 阅读 · 4 评论 -
Flume 1.6 遇Emoji表情发生截断丢失数据问题分析
问题描述最近有一段时间,跑ETL的时候,发现出来的数据明显比之前少,少了大约一半左右,就开始排查。 我们的数据是从Flume采集过来的,排查日志发现,flume在读取到某一条的时候,就不再往下读取了。问题分析进一步拿到原始文件后,找到那条数据。用vim打开发现其中有个地方有两个空格。起初以为是乱码(之前flume出过乱码中断的问题),贴到ide里面,得到具体编码,发现是四字节的utf-8编码。贴到原创 2017-02-04 07:19:22 · 2150 阅读 · 6 评论 -
Flume 1.7 源码分析(五)从Channel获取数据写入Sink
6 从Channel获取数据写入Sink6.1 Sink部分Sink部分主要分为以下3个步骤: 1. 由SinkRunner不断调用SinkProcessor的process方法。 2. 根据配置的SinkProcessor的不同,会使用不同的策略来选择sink。SinkProcessor有3种,默认是DefaultSinkProcessor。 3. 调用选择的sink的process原创 2017-03-04 17:46:27 · 3613 阅读 · 0 评论 -
Flume 1.7 源码分析(四)从Source写数据到Channel
5 从Source写数据到Channel5.1 Source部分5.1.1 SourceRunnerSourceRunner就是专门用于运行Source的一个类。 在”物化配置”一节获取配置信息后,会根据Source去获取具体的SourceRunner,调用的是SourceRunner的forSource方法。public static SourceRunner forSource(Sour原创 2017-03-01 13:42:04 · 4136 阅读 · 4 评论 -
Flume 1.7 源码分析(一)源码编译
1 说明Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,目前已经是Apache的一个子项目。Flume是一个专用工具被设计为旨在往HDFS、HBase发送数据。它对HDFS有特殊的优化,并且集成了Hadoop的安全特性。本文将详细分析Flume核心模块的源码实现。2 下载、编译2.1 源码检出Flume源码的git地址是:https://git-w原创 2017-02-26 16:11:45 · 4763 阅读 · 6 评论