二百一十一、Flume——Flume实时采集Linux中的Hive日志写入到HDFS中(亲测、附截图)

一、目的

为了实现用Flume实时采集Hive的操作日志到HDFS中,于是进行了一场实验

二、前期准备

(一)安装好Hadoop、Hive、Flume等工具

(二)查看Hive的日志在Linux系统中的文件路径

[root@hurys23 conf]# find / -name hive.log
/home/log/hive312/hive.log

(三)在HDFS中创建文件夹flume,即Hive日志写入的HDFS文件

三、创建Flume的任务文件

[root@hurys23 conf]# vi  flume-file-hdfs.conf

# Name the components on this agent
a2.sources = r2
a2.sinks = k2
a2.channels = c2

# Describe/configure the source
a2.sources.r2.type = exec
a2.sources.r2.command = tail -F /home/log/hive312/hive.log

# Describe the sink
a2.sinks.k2.type = hdfs
a2.sinks.k2.hdfs.path = hdfs://hurys23:8020/flume/%Y%m%d/%H
#上传文件的前缀
a2.sinks.k2.hdfs.filePrefix = logs-
#是否按照时间滚动文件夹
a2.sinks.k2.hdfs.round = true
#多少时间单位创建一个新的文件夹
a2.sinks.k2.hdfs.roundValue = 1
#重新定义时间单位
a2.sinks.k2.hdfs.roundUnit = hour
#是否使用本地时间戳
a2.sinks.k2.hdfs.useLocalTimeStamp = true
#积攒多少个 Event 才 flush 到 HDFS 一次
a2.sinks.k2.hdfs.batchSize = 100
#设置文件类型,可支持压缩
a2.sinks.k2.hdfs.fileType = DataStream
#多久生成一个新的文件
a2.sinks.k2.hdfs.rollInterval = 60
#设置每个文件的滚动大小
a2.sinks.k2.hdfs.rollSize = 134217700
#文件的滚动与 Event 数量无关
a2.sinks.k2.hdfs.rollCount = 0

# Use a channel which buffers events in memory
a2.channels.c2.type = memory
a2.channels.c2.capacity = 1000
a2.channels.c2.transactionCapacity = 100

# Bind the source and sink to the channel
a2.sources.r2.channels = c2
a2.sinks.k2.channel = c2

注意

1、配置文件中的各项参数需要调式,这里只是为了演示,实现目的、打通路径即可!实际在项目中操作时需要调试参数。

2、a2.sources.r2.command = tail -F /home/log/hive312/hive.log           为hive.log在Linux中的路径

3、a2.sinks.k2.hdfs.path = hdfs://hurys23:8020/flume/%Y%m%d/%H      为写入的HDFS文件路径

四、启动Flume任务文件

[root@hurys23 flume190]# bin/flume-ng agent -n a2  -f /usr/local/hurys/dc_env/flume/flume190/conf/flume-file-hdfs.conf

五、Flume任务运行时写入的HDFS文件状况

(一)目前时间

2023/12/5 14时

(二)HDFS的flume文件夹中根据时间戳自动生成20231205文件夹、14文件夹及其logs文件

(三)HDFS的log文件内容,以logs-.1701757858263为例

六、关闭Flume任务

首先jps查看Flume任务,然后直接kill程序

[root@hurys23 conf]# jps
28385 NodeManager
27938 SecondaryNameNode
16642 RunJar
27496 NameNode
27657 DataNode
8717 Jps
28215 ResourceManager
8282 Application
[root@hurys23 conf]# kill -9 8282


Hive日志成功采集到HDFS!演示就先到这里吧,后面如果有需要就再更新。

再提醒一遍,博客中Flume配置文件里面的参数只是为了演示而已,具体实践时需要根据实际情况进行调整,不要照搬!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/209525.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

smarty模版 [BJDCTF2020]The mystery of ip 1

打开题目 点击flag给了我们一个ip 点击hint,查看源代码处告诉了我们要利用这个ip bp抓包,并添加X-Forward-For头 所以这道题是XFF可控 本来联想到XFF漏洞引起的sql注入,但是我们无论输入什么都会正常回显,就联想到ssti注入 我们…

CloudCompare 二次开发(23)——计算两点云之间的放缩倍数

目录 一、概述二、代码集成三、结果展示一、概述 使用CloudCompare编程实现计算两点云之间的放缩倍数。具体计算原理见:。 二、代码集成 1、mainwindow.h文件public中添加: void doActionComputeScale(); // 计算两点云的放缩倍数2、mainwindow.cpp文件void MainWin…

Python网络爬虫的基础理解-对应的自我理解误区

##通过一个中国大学大学排名爬虫的示例进行基础性理解 以软科中国最好大学排名为分析对象,基于requests库和bs4库编写爬虫程序,对2015年至2019年间的中国大学排名数据进行爬取:(1)按照排名先后顺序输出不同年份的前10…

Linux下通过find找文件---通过修改时间查找(-mtime)

通过man手册查找和-mtime选项相关的内容 man find | grep -A 3 mtime # 这里简单介绍了 -mtime ,还有一个简单的示例-mtime n Files data was last modified n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretati…

【已解决】解决Win7虚拟机打开网页报错的情况

因为刚才下载了个虚拟机,同样出现了无法安装VMtools的情况,所以想直接通过虚拟机的浏览器来下载一个补丁(因为自己的U盘在虚拟机上面无法识别,应该是太老了Win7) 结果发现Win7内置的IE浏览器太拉了。于是向下载一个火…

深度学习记录--神经网络表示及其向量化

神经网络表示 如下图 就这个神经网络图来说,它有三层,分别是输入层(Input layer),隐藏层(Hidden layer),输出层(Output layer) 对于其他的神经网络,隐藏层可以有很多层 一般来说,不把输入层算作一个标准…

UML图的各种类型以及软件设计师考试考察的方式

UML建模 前言 常见的UML的类型 UML 比前两题是更难的(略高,但是学会就可以了。前两题是:数据流图,数据库的设计),因为UML图有很多类型:用例图,类图与对象图,顺序图&…

3_CSS层叠样式表基础

第3章-CSS层叠样式表基础 学习目标(Objective) 掌握标签选择器的使用掌握类选择器的使用了解id选择器和通配符选择器掌握font属性和color属性的应用 1.HTML的局限性 如果要改变下高度或者变一个颜色,就需要大量重复操作 总结: HTML满足不了设计者的需…

Emacs之dired模式重新绑定键值v(一百三十一)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

uniapp实战 —— 轮播图【数字下标】(含组件封装,点击图片放大全屏预览)

组件封装 src\components\SUI_Swiper2.vue <script setup lang"ts"> import { ref } from vue const props defineProps({config: Object, })const activeIndex ref(0) const change: UniHelper.SwiperOnChange (e) > {activeIndex.value e.detail.cur…

数据可视化:解锁企业经营的智慧之道

在现代企业管理中&#xff0c;数据可视化已经成为了一项重要的工具。它不仅仅是简单地展示数据&#xff0c;更是提供了深入理解数据、做出更明智决策的方法。作为一名可视化设计从业人员&#xff0c;我经手过一些企业自用的数据可视化项目&#xff0c;今天就来和大家聊聊数据可…

数字化升级,智慧医疗新时代——医院陪诊服务的技术创新

在信息技术飞速发展的今天&#xff0c;医疗服务正迎来数字化升级的新时代。本文将探讨如何通过先进技术的应用&#xff0c;为医院陪诊服务注入更多智慧元素&#xff0c;提升患者和家属的医疗体验。 1. 创新医疗预约系统 # Python代码演示医疗预约系统的简单实现 class Medic…

输入框的透明度影响placeholder的透明度怎么解决

有一个需求是需要写如上图所示的输入框。 首先想到的是调整输入的透明度 <div class"inputDiv"><img src"./images/search.png" /><input type"text" class"myInput" placeholder"请输入标题关键字"/> &…

飞天使-linux操作的一些技巧与知识点

命令行光标移动到行首行尾 ctrl a 跳到首 ctrl e 跳到尾/etc/passwd rpm 包格式 RPM&#xff08;Red Hat Package Manager&#xff09;是一种常用的Linux软件包管理系统&#xff0c;它使用特定的命名规则来标识和命名软件包。RPM包的名称格式通常遵循以下规则&#xff1a;…

FPGA时序分析与约束(0)——目录与传送门

一、简介 关于时序分析和约束的学习似乎是学习FPGA的一道分水岭&#xff0c;似乎只有理解了时序约束才能算是真正入门了FPGA&#xff0c;对于FPGA从业者或者未来想要从事FPGA开发的工程师来说&#xff0c;时序约束可以说是一道躲不过去的坎&#xff0c;所以这个系列我们会详细介…

Python数据处理的六种方式总结,Python零基础学习

文章目录 前言1、dedup()去重并排序2、traverse()拆分嵌套数组3、filter()数据筛选4、groupby()分组运算5、select()遍历结果集6、sort()数据排序 总结 前言 在 Python 的数据处理方面经常会用到一些比较常用的数据处理方式&#xff0c;比如pandas、numpy等等。 今天介绍的这…

使用粗糙贴图制作粗纹皮革手提包3D模型

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 当谈到游戏角色的3D模型风格时&#xff0c;有几种不同的风格&#xf…

UniGui使用CSS优化PageControl

如题直接上代码 .x-tab-bar-default-top{background-image:none!important;background-color:#FFF !important;border-color:#f0f0f0 !important;border-left:none!important;border-right:none!important}.x-tab-bar-strip-default{border-color:#f0f0f0 !important;backgrou…

Hugging Face 给普通用户提供了一个 2 vCPU 16GB 的免费空间

Hugging Face 给普通用户提供了一个 2 vCPU 16GB 的免费空间&#xff0c;并且支持部署 Gradio 构建的应用程序&#xff0c;非常方便&#xff0c;下面我们进入 https://huggingface.co/spaces/ &#xff0c;点击创建空间。

unity 模型生成PNG图片并导出(可以任意控制方向和大小,本文提供三种方案)

提示&#xff1a;文章有错误的地方&#xff0c;还望诸位大神不吝指教&#xff01; 文章目录 前言一、插件RuntimePreviewGenerator&#xff08;方案一&#xff09;二、unity 官方提供的接口&#xff08;方案二&#xff09;三、方法三&#xff0c;可以处理单个模型&#xff0c;也…