大数据(4b)Flume经验

大数据之Flume Flume是Apache提供的分布式日志采集系统,具备高可用、高可靠性。其核心架构包括Source(数据接收)、Channel(缓冲区)和Sink(数据输出)三个组件。Source支持多种日志格式,如netcat、exec等;Channel分内存和文件两种类型,分别用于不同可靠性需求;Sink可将数据写入HDFS、HBase等存储系统。Flume以Event为数据传输单元,包含Header和Body两部分。安装过程包括解压、配置环境变量等步骤。通过入门案例演示了如何监控端口数据和实时采集Hive日志,展示了 阅读详情

Flume版本:1.9

Source

  • 常用的source:Taildir Source
  • Taildir Source功能:监控目录下的多个追加文件
  • 实现断点续传的原理:读取完数据后 将offset保存到磁盘的文件中
  • 如果Taildir Source挂了,可能会出现重复数据,下面有两种处理方式:
    1、Flume不处理,去重任务交给下游,这样可以确保Flume的效率(推荐)
    2、Flume加事务,但会变慢(不推荐)

Channel

名称默认容量说明应用场景
memory channel100个event基于内存,效率高,可靠性低
如果挂了,最坏可能丢100个event
普通日志,要求快,丢一点无所谓
file channel100万个event基于磁盘,效率低,可靠性高和钱相关的,要求准
kafka channel基于Kafka,效率高、可靠性高直接对接Kafka

Sink

  • 常用的sink:HDFS Sink
  • 对于HDFS Sink的HDFS小文件问题,要配置文件滚动:
    1、按大小滚动:127M(略小于HDFS块大小182M)
    2、按时间滚动:3600秒(注意:时间不能太长,如果设2小时,23:59滚动后01:59才滚下一次,ods脚本在01:00执行,就会漏数)
    3、按event数量滚动:通常设为0,即是禁用

HDFS文件类型使用压缩

# HDFS文件类型及压缩方式
a1.sinks.k1.hdfs.fileType = CompressedStream
a1.sinks.k1.hdfs.codeC = gzip

HIVE表默认支持Gzip

HDFS路径建议

如果您的数仓有STG层(贴源层),那么hdfs.path设置为贴源层的HDFS路径
我的数仓没有专设贴源层,而是创建了一个临时文件夹,存放Sqoop、Flume等临时数据文件,以供HIVE加载数据

hadoop fs -mkdir -p /temp/flume/kafka

Flume会自动根据hdfs.path创建路径
一个TOPIC对于一个文件夹:/temp/flume/kafka/topic_name

# source
a2.sources.r2.type = org.apache.flume.source.kafka.KafkaSource
# header添加topic
a2.sources.r2.setTopicHeader = true
a2.sources.r2.topicHeader = topic

# sink
a2.sinks.k2.type = hdfs
# 指定数据存储目录
a2.sinks.k2.hdfs.path = /temp/flume/kafka/%{topic}/%Y-%m-%d

/temp/flume/kafka/%{topic}/%Y-%m-%d

拦截器

  • ETL拦截器:用于轻度清洗,例如:过滤json格式不完整的数据
  • 时间拦截器:提取日志的时间,用于日期分区,避免零点漂移的问题

内存优化

Flume可能出现异常:
ERROR hdfs.HDFSEventSink: process failed
java.lang.OutOfMemoryError: GC overhead limit exceeded

  • 修改flume-env.sh把内存调到4~6G(假设日志服务器16G)
  • 促销节日来之前,增加机器(内存)

-Xms:初始Java堆内存大小
-Xmx:最大Java堆内存大小
建议-Xmx与-Xms设为一致,减少内存抖动带来的性能影响
如果设置不一致,容易在初始化时,由于内存不够,频繁触发 fullGC

cd $FLUME_HOME/conf/
vim flume-env.sh
export JAVA_OPTS="-Xms3000m -Xmx3000m -Dcom.sun.management.jmxremote"

如图显示,Flume设置-Xms3000m -Xmx3000m后,RES 显示为1.3g,远没达到3g

Flume启停脚本

mkdir ~/bin
cd ~/bin
touch f1.sh
chmod 777 f1.sh
vim f1.sh
#!/bin/bash

fc='/opt/module/scripts/flume1.conf'

start="nohup flume-ng agent --conf-file $fc --name a1 -Dflume.root.logger=INFO,LOGFILE >$FLUME_HOME/f1.txt 2>&1 &"

stop="ps -ef | grep $fc | grep -v grep | awk '{print \$2}' | xargs -n1 kill -9"

for i in hostname1 hostname2 hostname3
do
    case $1 in
    "start"){
        echo "------START $i Flume------"
        ssh $i $start
    };;	
    "stop"){
        echo "------STOP $i Flume------"
        ssh $i $stop
    };;
    esac
done
大数据技术之_32_大数据面试题_01_Hive 基本面试 + Hive 数据分析面试 + Flume + Kafka 面试 大数据技术之_32_大数据面试题_01一、Hive 基本面试1、什么是 metastore2、metastore 安装方式有什么区别3、什么是 Managed Table 跟 External Table?4、什么时候使用 Managed Table 跟 External Table?5、hive 有哪些复合数据类型?6、hive 分区有什么好处?7、hive 分区跟分桶的区别8、hive 如何动... 阅读详情

相关推荐

大数据——Flume学习笔记

目录 一、Flume定义 二、Flume基本架构 三、Flume常见案例 1.监控端口数据 2.监控单个目录并将数据输出到hdfs 3.avro source 4.taildir source 5.hive sink 6.hbase sink 一、Flume定义   Flume 是 Cloudera 提供的一种高可用、高可靠、分布式的海量日志采集、聚合和传输的系统。Flume 基于流式架构,灵活简单。   Flume 最主要的作用是,实时读取服务器本地磁盘的数据,将数据写到 H

Vicky_Tang 1万+

大数据技术之Flume

flume ,基础到企业开发案例 ,负载均衡,故障转移 ,多路复用 断点续传 等理论,

hongjinga的博客 1266

Flume 搭建和操作使用的详细教程

* 下载安装包:apache-flume-1.11.0-bin .tar.gz * 上传至 linux 的 /opt/ 目录下 * 解压至 /opt/apps(可以自定义目录) * 修改简短名称(方便配置) * 配置环境变量(方便调用)

zp8126的专栏 1673

大数据技术之Flume(超级详细)

Flume 是 Apache Software Foundation(ASF)的一个项目,用于高可靠、可扩展的大数据日志收集、聚合和传输。它通常被用于将分布式的、大规模产生的数据从各种源头(如Web服务器、应用程序日志等)采集到数据存储和处理系统(如Hadoop)中。

专注 AI、大数据、Python、爬虫、数据分析可视化、机器学习、推荐算法、知识图谱、大模型应用与全栈系统开发,长期沉淀真实项目案例、源码解析、系统设计、部署经验与工程化实践,分享可运行、可复用、可落地的技术方案。 5285

大数据面试题之葵花宝典------flume

葵花宝典------flume1. Flume组成,Put事务,Take事务2. Flume拦截器3. Flume Channel选择器4. Flume监控器5. Flume采集数据会丢失吗?(防止数据丢失的机制)6. Flume内存7. FileChannel优化 1. Flume组成,Put事务,Take事务 1、Taildir Source:断点续传、多目录。Flume1.6以前需要自己自定义Source记录每次读取文件位置,实现 断点续传。 2、File Channel:数据存储在磁盘,宕机数据可以

海鸥~ 4098

大数据课程E8——Flume的Ganglia

a. gmond(Ganglia Monitoring Daemon)是一个轻量级的服务,需要安装在每一条需要收集指标数据的主机上,使用gmond来收集系统指标数据,包含CPU,内存、磁盘、网络以及活跃的进程数量等。提供了WEB页面,在Web界面中以图表的形式来显式集群的运行状态下所收集的到的不同的指标数据。1. Ganglia是UC Berkeley发起的一个开源的集群监控项目,被设计用于测量数以千计的节点性能。#修改udp_send_channel中的属性。#修改data_souce属性的值,例如。

u013955758的专栏 706

大数据技术之 Flume

大数据技术之 Flume

我从不打没有准备的仗! 1万+

【大数据Flume系列】Flume 的安装部署

【大数据Flume系列】Flume 的安装部署

weixin_54707168的博客 347

大数据小白必知必会之Flume实现过滤器效果

Flume如何实现过滤器效果?快来瞅瞅!

大数据梦想家 3703

RealSense D455启动教程

RealSense D455启动教程 修改rs_camera.launch

每天进步一点点 2416

Unable to negotiate with XXXX port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss

打开ssh_config此文件,滑动到最下面,新增自己git主机地址(这里我直接默认*)执行命令 git clone git@xxxxxxxxxxxxx.git。代码仓库已经添加了ssh公钥之后,克隆代码到本地时就报了这个问题。首先是找到git安装目录(根据自己安装时选项,找到这个目录)再进入ssh目录,找到 ssh_config 配置文件。配置完成后,保存配置文件后再次去clone代码。直接复制下面这一段到文件中最底部位置即可。然后进入 etc目录,找到ssh目录。终于可以克隆下来了。

萌兔兔MMQ!! 3353

大数据——Flume

大数据 —— Flume 文章目录大数据 —— `Flume``Flume`简介`Flume`结构`Flume`安装`Flume`常用命令`Flume`实例1. 监控一个文件,实时采集新增的数据输出到控制台2. 从指定网络端口采集数据单行数据输出到控制台3. 监控一个文件,实时采集新增的数据输出到`Kafka`4. 监听TCP的端口,实时采集新增的数据输出到控制台5. 监控一个文件,实时采集新增的...

Au的博客 985

使用ExcelJS向XLSX单元格居中插入图片

本文记录了使用ExcelJS库向XLSX单元格里居中写入图片的方法。本文内容包括:xlsx 文件格式;xlsx 图片定位的长度单位;使用nativeColOff和nativeRowOff进行定位,不要使用官网给的定位方式;添加图片到数据表的总体流程和样例代码;注意事项等。

weixin_43678000的博客 3456

[bigdata] 使用Flume hdfs sink, hdfs文件未关闭的问题

现象: 执行mapreduce任务时失败 通过hadoop fsck -openforwrite命令查看发现有文件没有关闭。 [root@com ~]# hadoop fsck -openforwrite /data/rc/click/mpp/15-08-05/DEPRECATED: Use of this script to execute hdfs command is depr...

803

ASReview:基于主动学习的AI文献筛选工具,提升科研效率

主动学习是机器学习的一个重要分支,其核心原理是让算法能够主动选择最有价值的数据进行标注,从而以更低的成本获得更好的模型性能。这一技术通过人机协作的闭环流程,显著提升了数据标注和模型训练的效率和精度。在工程实践中,主动学习尤其适用于数据标注成本高昂或数据类别不平衡的场景,例如医学影像分析、自然语言处理中的文本分类以及推荐系统的冷启动问题。通过优先标注模型最不确定的样本,它能够有效解决传统机器学习面临的冷启动和数据稀疏性挑战。本文聚焦的ASReview项目,正是将主动学习原理应用于系统文献综述这一具体场景,通过

weixin_28725959的博客 430

YOLO26改进策略【Head】| (独家改进)轻量化检测头:利用 EfficientNet 中的移动倒置瓶颈模块 MBConv 改进检测头

本文记录的是基于移动倒置瓶颈 MBConv 的 YOLO26 的检测头轻量化改进方法研究。采用了独特的倒置瓶颈结构,通过的操作以及,在高效提取特征的同时极大地降低了计算量。本文将的设计优势融入j检测头中,使其在目标检测任务中不仅能够更精准地识别各类目标,还能在计算资源有限的情况下快速响应,展现出更为卓越的实时检测能力。EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks的实现代码如下: 首先在代码中加入如下代码: 其

Limiiiing的博客 286

大数据Flume系列之Flume集群搭建

1. 概念 集群的意思是多台机器,最少有2台机器,一台机器从数据源中获取数据,将数据传送到另一台机器上,然后输出。接下来就要实现Flume集群搭建。集群如下图所示。 2. Flume搭建 2.1 部署准备 部署主机 192.168.9.139 host14 192.168.9.128 host15 host14主机下载flume软件包 # cd /opt/tools # wget http://mirrors.tuna.tsinghu..

Lyncai的专栏 1999

基于DPCNN实现电商情感分析任务

下载链接项目中使用的模型是DPCNN,在模型中我们定义了三个组件,分别是embedding层,卷积层和全连接层。Embedding层:将每个词生成对应的嵌入向量,就是利用一个连续型向量来表示每个词卷积层:提取语句中的语义信息Linear层:将结果映射成2大小用于二分类,即正反面的概率。

优快云 精品推荐 1629

D010 复制粘贴玩大数据之Dockerfile安装Flume集群

0x00 教程内容 0x01 Dockerfile文件的编写 1. 编写Dockerfile文件 2. 编写Dockerfile文件的关键点 3. 完整的Dockerfile文件参考 0x02 校验Flume前准备工作 1. 环境及资源准备 0x03 校验是否Flume安装成功 1. 修改生成容器脚本 2. 生成镜像 3. 生成容器 4. 启动Flume 0xFF 总结

邵奈一的博客 881

【数据集】全球湿度数据集总结

【数据集】全球湿度数据集总结

WW、forever的博客 1660

基于改进Unet的多场景水果图像分割与分类研究

本文针对复杂场景下的水果图像分割问题,提出了一种改进Unet模型。通过构建包含8类水果、3种成熟度及多种干扰场景的数据集,采用ResNet50与MobileNetV3作为骨干网络,并在跳跃连接层集成CBAM注意力机制。实验表明,改进模型在测试集上达到91.6%的mIoU,推理速度提升23%,特别在重叠水果和低光照场景表现突出。研究为农业视觉检测提供了有效解决方案。

AI的内部世界的博客 302

【大数据常用组件】Flume组件总结

Flume是一个基于分布式的海量日志采集、聚集、传输系统,在大数据领域中得到广泛使用,主要用于采集源数据,工作于数仓中的ODS层。

不会debug的攻城狮 2085

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

大数据组件之数据采集工具FLume介绍/快速入门

大数据组件之数据采集工具FLume介绍/快速入门 1 背景 在一个完整的离线大数据处理系统中,除了hdfs+mapreduce+hive组成分析系统的核心之外,还需要数据采集、结果数据导出、任务调度等不可或缺的辅助系统,而这些辅助工具在hadoop生态体系中都有便捷的开源框架,如图所示: 图:典型大规模离线数据处理平台 2 Flume日志采集框架 2.1 Flume介绍 1)Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。 2)Flume可以采集文件,socket数据包、文件、文件

不以物喜的博客 1317

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

大数据(4a)Flume原理、安装、使用

Flume简介 海量日志 采集、聚合、传输 的系统 基于流式架构 入门功能:实时监控 单个追加文件、 目录下多个新文件、 目录下的多个追加文件 flume对接hdfs flume对接Kafka

ArYe 851

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

241204大数据学习之HIVE安装、日志采集FLUME

许多公司的业务平台每天都会产生大量的日志数据。收集业务日志数据,供离线和在线的分析系统使用,正是日志收集系统的要做的事情。高可用性,高可靠性和可扩展性是日志收集系统所具有的基本特征。目前常用的开源日志收集系统有等。Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,目前已经是Apache的一个子项目。Scribe是Facebook开源的日志收集系统,它为日志的分布式收集,统一处理提供一个可扩展的,高容错的简单方案。官网地址。

qq_27302885的博客 1058
上一篇: Redis极速入门
下一篇: Linux一行命令根据关键词杀程序【附图】
小基基o_O
博客等级 码龄9年 4413粉丝 467原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值