flume
文章平均质量分 75
日志采集工具
优惠券已抵扣
余额抵扣
还需支付
¥19.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
做一个有趣的人Zz
天下唯庸人无咎无誉
展开
-
数据仓库之【用户行为数仓】04:数据生成与采集:用户行为数据、商品订单相关数据
接下来我们就来开发第一个模块:数据采集模块这一块内容在开发的时候,我们需要先生成测试数据,一份是服务端数据,还有一份是客户端数据一、数据生成1、【客户端数据】用户行为数据首先我们模拟生成用户行为数据,也就是客户端数据,主要包含用户打开APP、点击、浏览等行为数据用户行为数据:通过埋点上报,后端日志服务器(http)负责接收数据埋点上报数据基本格式:{"uid":1001, //用户ID"xaid":"ab25617-c38910-m2991", //手机设备ID"platform":原创 2022-03-11 09:46:50 · 2249 阅读 · 14 评论 -
数据仓库之【用户行为数仓】02:数据仓库介绍、数据仓库的特性、数据仓库基础、数据仓库分层、数据仓库系统架构、需求分析
一、什么是数据仓库咱们前面说了要构建一个数据仓库,那严格意义上来说,到底什么是数据仓库呢?咱们前面学习过Hive,说Hive其实就是一个数据仓库,可以这样理解,就是把Hive认为是一种技术,通过Hive这种技术可以实现数据仓库的建设。咱们这个项目中的数据仓库就是使用Hive构建的。来看一下针对数据仓库的官方解释:数据仓库(Data Warehouse)是一个面向主题的、集成的、稳定的且随时间变化的数据集合,用于支持管理人员的决策。二、数据仓库的特性1、面向主题主题就是类型的意思。传统数据库原创 2022-03-10 09:31:34 · 1161 阅读 · 0 评论 -
数据仓库之【用户行为数仓】01:项目效果展示、背景
一、项目效果展示大家好,下面我们来学习一个电商行业的数据仓库项目首先看一下项目效果本身我们这个数据仓库项目其实是一个纯后台项目,不过为了让大家能够更加直观的感受项目的效果,我们可以基于数据仓库中的数据统计一些指标进行展现。我们这个项目要讲的重点不是这个大屏,这个大屏只是一个效果,为了让大家感受更加直观一些而已,我们主要讲的是这些指标对应的底层数据是如何在数据仓库中一层一层构建的。二、项目的由来接下来我们来看一下这个项目的由来,我们为什么要做这个数据仓库项目呢?或者说做这个数据仓库项目有什么意义原创 2022-03-10 09:31:10 · 572 阅读 · 0 评论 -
Flume14:Flume的进程监控
一、Flume的进程监控Flume的Agent服务是一个独立的进程,假设我们使用source->channel->sink实现了一个数据采集落盘的功能,如果这个采集进程被误操作干掉了,这个时候我们是发现不了的,什么时候会发现呢?可能第二天,产品经理找到你了,说昨天的这个指标值有点偏低啊,你来看下怎么回事,然后你就一顿操作猛如虎,结果发现原始数据少了一半多,那是因为Flume的采集程序在昨天下午的时候被误操作干掉了。找到问题之后,你就苦巴巴的手工去补数据,重跑计算程序,最后再找产品经理确认数原创 2022-03-04 08:52:10 · 1238 阅读 · 0 评论 -
Flume13:Flume的优化
一、Flume优化1、调整Flume进程的内存大小,建议设置1G~2G,太小的话会导致频繁GC因为Flume进程也是基于Java的,所以就涉及到进程的内存设置,一般建议启动的单个Flume进程(或者说单个Agent)内存设置为1G~2G,内存太小的话会频繁GC,影响Agent的执行效率。那具体设置多少合适呢?这个需求需要根据Agent读取的数据量的大小和速度有关系,所以需要具体情况具体分析,当Flume的Agent启动之后,对应就会启动一个进程,我们可以通过jstat -gcutil PID 10原创 2022-03-04 08:51:55 · 1475 阅读 · 0 评论 -
Flume12:Flume的各种自定义组件
各种自定义组件咱们前面讲了很多组件,有核心组件和高级组件source、channel、sink以及Source Interceptors,Channel Selectors、Sink Processors针对这些组件,Flume都内置提供了组件的很多具体实现,在实际工作中,95%以上的数据采集需求都是可以满足的,但是谁也不敢保证100%都能满足,因为什么奇葩的需求都会有,那针对系统内没有提供的一些组件怎么办呢?假设我们想把flume采集到的数据输出到mysql中,那这个时候就需要有针对mysql的s原创 2022-03-04 08:51:43 · 415 阅读 · 0 评论 -
Flume11:【案例】Sink Processors之 Failover Sink Processor 【故障转移】
一、Failover Sink Processor接下来我们来看一下故障转移在这个图中,也是一个channel后面接了两个sink,但是这里和负载均衡架构不一样的是,这两个sink正常情况下只有一个干活,另一个是不干活的来看一下Failover Sink Processor的文档介绍看中间的参数解释sinks:指定这个sink groups中有哪些sink,指定sink的名称,多个的话中间使用空格隔开即可processor.type:针对故障转移的sink处理器,使用failoverpro原创 2022-03-04 08:51:29 · 340 阅读 · 0 评论 -
Flume10:【案例】Sink Processors之 负载均衡:Load balancing Sink Processor
一、Sink Processors接下来看一下Sink处理器Sink Processors类型包括这三种:Default Sink Processor、Load balancing Sink Processor和Failover Sink ProcessorDefaultSink Processor是默认的,不用配置sinkgroup,就是咱们现在使用的这种最普通的形式,一个channel后面接一个sink的形式。Load balancing Sink Processor是负载均衡处理器,一个cha原创 2022-03-04 08:51:16 · 631 阅读 · 0 评论 -
Flume09:【案例】Channel Selectors01:多Channel之Multiplexing Channel Selector
接下来看案例2一、多Channel之Multiplexing Channel Selector在这个案例中我们使用Multiplexing选择器,将source采集到的数据按照一定规则发送给两个channle,最终再把不同channel中的数据存储到不同介质中。在这里面我们需要用到正则抽取拦截器在Event的header中生成key-value作为Multiplexing选择器的规则假设我们的原始数据格式为{"name":"jack","age":19,"city":"bj"}{"name"原创 2022-03-04 08:50:10 · 283 阅读 · 0 评论 -
Flume08:【案例】Channel Selectors01:多Channel之Replicating Channel Selector
一、Channel Selectors接下来看一下Channel SelectorsChannel Selectors类型包括:Replicating Channel Selector 和Multiplexing Channel Selector其中Replicating Channel Selector是默认的channel 选择器,它会将Source采集过来的Event发往所有Channel查看官方文档中针对这个默认channel选择器的解释在这个例子的配置中,c3是可选channel。对c原创 2022-03-04 08:49:51 · 351 阅读 · 0 评论 -
Flume07:【案例】Flume的高级组件之Source Interceptors
一、Source Interceptors接下里我们看一下第一个高级组件,Source Interceptors系统中已经内置提供了很多Source Interceptors常见的Source Interceptors类型:Timestamp Interceptor、Host Interceptor、Search and Replace Interceptor 、Static Interceptor、Regex Extractor Interceptor 等1、Timestamp Intercept原创 2022-03-04 08:49:32 · 258 阅读 · 0 评论 -
Flume06:Flume高级组件:Source Interceptors、Channel Selectors、Sink Processors
一、Flume高级组件1、Source InterceptorsSource可以指定一个或者多个拦截器按先后顺序依次对采集到的数据进行处理。2、Channel SelectorsSource发往多个Channel的策略设置,如果source后面接了多个channel,到底是给所有的channel都发,还是根据规则发送到不同channel,这些是由Channel Selectors来控制的3、Sink ProcessorsSink 发送数据的策略设置,一个channel后面可以接多个sink,ch原创 2022-03-04 08:49:07 · 271 阅读 · 0 评论 -
Flume05:【案例】采集网站日志上传至HDFS
前面我们讲了两个案例的使用,接下来看一个稍微复杂一点的案例:需求是这样的,1、将A和B两台机器实时产生的日志数据汇总到机器C中2、通过机器C将数据统一上传至HDFS的指定目录中注意:HDFS中的目录是按天生成的,每天一个目录看下面这个图,来详细分析一下根据刚才的需求分析可知,我们一共需要三台机器这里使用bigdata02和bigdata03采集当前机器上产生的实时日志数据,统一汇总到bigdata04机器上。其中bigdata02和bigdata03中的source使用基于file的so原创 2022-03-04 08:50:57 · 1425 阅读 · 0 评论 -
Flume04:【案例】使用Flume采集文件内容上传至HDFS
案例:采集文件内容上传至HDFS接下来我们来看一个工作中的典型案例:采集文件内容上传至HDFS需求:采集目录中已有的文件内容,存储到HDFS分析:source是要基于目录的,channel建议使用file,可以保证不丢数据,sink使用hdfs下面要做的就是配置Agent了,可以把example.conf拿过来修改一下,新的文件名为file-to-hdfs.conf首先是基于目录的source,咱们前面说过,Spooling Directory Source可以实现目录监控来看一下这个Spoo原创 2022-03-03 08:21:11 · 7252 阅读 · 3 评论 -
Flume03:【案例】如何使用Flume-Hello Flume
一、Flume的Hello World!下面我们就想上手操作Flume,具体该怎么做呢?先来看一个入门级别的Hello World案例。我们前面说了,启动Flume任务其实就是启动一个Agent,Agent是由source、channel、sink组成的,这些组件在使用的时候只需要写几行配置就可以了那下面我们就看一下source、channel、sink该如何配置呢?接下来带着大家看一下官网找到左边的documentation,查看文档信息其实Flume的操作文档是非常良心的,整理的非常详原创 2022-03-03 08:20:51 · 348 阅读 · 0 评论 -
Flume02:Flume安装部署
想要使用Flume采集数据,那肯定要先安装Flume在这里我重新克隆了一台Linux机器,主机名设置为bigdata04,ip设置为192.168.182.103注:如果没有空闲资源就和Hadoop安装在一起。关闭防火墙,安装jdk并配置环境变量,因为Flume是java开发,所以需要依赖jdk环境注:这些步骤去看我之前的文档这些工作已经提前做好了,继续往下面分析想要安装Flume,首先需要下载Flume,进入Flume的官网,找到Download链接。安装包下载好以后上传到linux机器原创 2022-03-03 08:20:24 · 183 阅读 · 0 评论 -
Flume01:Flume介绍、应用场景、特性、三大组件
一、什么是Flume先来看一下官方解释Flume是一个高可用,高可靠,分布式的海量日志采集、聚合和传输的系统,能够有效的收集、聚合、移动大量的日志数据。其实通俗一点来说就是Flume是一个很靠谱,很方便、很强的日志采集工具。他是目前大数据领域数据采集最常用的一个框架为什么它这么香呢?主要是因为使用Flume采集数据不需要写一行代码,注意是一行代码都不需要,只需要在配置文件中随便写几行配置Flume就会死心塌地的给你干活了,是不是很香?看这个图,这个属于Flume的一个非常典型的应用场景,使用F原创 2022-03-03 08:19:58 · 3004 阅读 · 0 评论