CentOS安装Flume

CentOS安装Flume

    • 一、简介
    • 二、安装
      • 1、下载
      • 2、解压
      • 3、创建配置文件
      • 4、启动flume agent
      • 5、验证

一、简介

        Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant with tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model that allows for online analytic application.
        Flume是一种分布式、高可靠且高可用的服务,用于高效地收集、聚合和转移不同来源的大量日志数据。Event是Flume定义的一个数据流传输的最小单元。Agent是一个Flume的实例,本质是一个JVM进程,该JVM进程控制Event从外部日志生产者那里将数据传输到目的地或者下一个Agent。
        一个完整的Agent中包含了必须的三个组件Source、Channel和Sink,Source是指数据源的获取方式,Channel是一个数据的缓冲池,Sink定义了数据输出的方式和目的地(这三个组件是必须有的,另外还有很多可选的组件interceptor、channel selector、sink processor等)。完整流程可以参考下图:
在这里插入图片描述
        Flume也可以设置多级Agent连接的方式传输Event数据,完整流程可以参考下图:
在这里插入图片描述

源码地址

官网地址

中文说明文档可参考这里

源码地址

二、安装

1、下载

本次使用版本V1.11.0
apache-flume-1.11.0-bin.tar.gz
在这里插入图片描述

2、解压

tar -zxvf apache-flume-1.11.0-bin.tar.gz

在这里插入图片描述

3、创建配置文件

本次目标将指定的log文件数据读取出来同步到hdfs中,创建配置文件file2hdfs.conf,具体配置如下:

a1.sources=r1
a1.sinks=k1
a1.channels=c1a1.sources.r1.type=taildir
a1.sources.r1.filegroups=f1
a1.sources.r1.filegroups.f1=/wz_program/flume1.11.0/data/111.log
a1.sources.r1.positionFile=/wz_program/flume1.11.0/data/taildir.json
a1.sources.r1.fileHeader=truea1.sinks.k1.type=hdfs
a1.sinks.k1.hdfs.path=hdfs://hadoop001:8020/tmp/flume3
a1.sinks.k1.hdfs.rollSize=1048576
a1.sinks.k1.hdfs.rollInterval=0
a1.sinks.k1.hdfs.rollCount=0
a1.sinks.k1.hdfs.useLocalTimeStamp=true
a1.sinks.k1.hdfs.writeFormat=Text
a1.sinks.k1.hdfs.minBlockReplicas=1
a1.sinks.k1.hdfs.fileType=DataStreama1.channels.c1.type=memory
a1.channels.c1.capacity=100
a1.channels.c1.transactionCapacity=100a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1

配置说明如下:

  • 如上配置文件指定了一个名为a1的Agent,其中a1的source为r1,sink为k1,channel为c1
  • r1的类型为taildir,该类型的source监控指定的一些文件,并在检测到新的一行数据产生的时候几乎实时地读取它们。
  • c1类型为memory,该类型的channel是把 Event 队列存储到内存上,队列的最大数量就是 capacity 的设定值。
  • k1的类型为hdfs,该类型的sink是将Event写入Hadoop分布式文件系统。

Taildir Source说明:
在这里插入图片描述
Memory Channel说明如下:
在这里插入图片描述
HDFS Sink说明如下:
在这里插入图片描述

4、启动flume agent

进入到flume的解压目录下执行如下命令,注意更换配置文件的路径:

./bin/flume-ng agent --conf ./conf --conf-file ../file2hdfs.conf --name a1 &

解压目录下可查询flume运行的日志记录:
在这里插入图片描述
启动命令说明如下:

--name 后面的名称需要配置为自己的agent名称,也就是自己--conf-file文件中配置的第一个单词,我的配置为a1

5、验证

不断向111.log文件中写入内容,进入到hdfs中查看log文件是否已同步到指定的路径中:
在这里插入图片描述

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

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

相关文章

使用 Swift 代码优化项目编译速度

引言 软件的性能是评价一个软件质量的重要指标,尤其在今天这个时代,性能已成为大型项目不可或缺的考虑因素之一。对于用户量极大的软件,如网银系统、在线购物商城等,更是必须保证其高效稳定的性能。在这种背景下,优化…

K8S--安装Nginx

原文网址:K8S--安装Nginx-CSDN博客 简介 本文介绍K8S安装Nginx的方法。 1.创建Nginx目录及配置文件 mkdir -p /work/devops/k8s/app/nginx/{config,html} 在config目录下创建nginx.conf配置文件,内容如下: # events必须要有 events {wo…

C++ 设计模式之备忘录模式

【声明】本题目来源于卡码网(题目页面 (kamacoder.com)) 【提示:如果不想看文字介绍,可以直接跳转到C编码部分】 【设计模式大纲】 【简介】 -- 什么是备忘录模式 (第17种模式) 备忘录模式(Meme…

【第七在线】利用大数据与AI,智能商品计划的未来已来

随着科技的快速发展,大数据和人工智能(AI)已经成为各行各业变革的重要驱动力。在服装行业,这两大技术的结合正在深刻改变着传统的商品计划方式,引领着智能商品计划的未来。 一、大数据与AI在智能商品计划中的角色 大数据为智能商品计划提供了…

leetCode-42.接雨水

📑前言 本文主要是【算法】——算法模拟的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句&#xff…

AI嵌入式K210项目(15)-安全散列算法加速器

文章目录 前言一、什么是SHA256?实验原理 二、K210的安全散列算法加速器三、实验过程总结 前言 K210内置了丰富的加速器,包括神经网络处理器 (KPU),AES(高级加密加速器),APU 麦克风阵列语音数据加速计算处理器,现场可…

Docker技巧汇总

Docker技巧汇总 前言使用流程安装配置镜像管理创建并运行容器使用容器/常用命令导出和导入查看元数据挂载数据卷端口映射/转发VS Code连接Docker 前言 Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xf…

【Unity】URP报错Object reference not set to an instance of an object

使用URP之后,Unity报错:显示不正常 NullReferenceException: Object reference not set to an instance of an object UnityEngine.Rendering.Universal.UniversalAdditionalCameraData.get_cameraStack () (at Library/PackageCache/com.unity.render-p…

项目上线存在的缓存问题以及存在的debugger和console.log等问题

下载uglifyjs-webpack-plugin插件 在vue.config文件中进行配置 publicPath: process.env.NODE_ENV production ? ./ : /,outputDir: n-sim-ipc-manage-build,productionSourceMap: false,configureWebpack: config > {//打包文件增加hashconfig.output.filename js/[nam…

LeetCode、2300. 咒语和药水的成功对数【中等,排序+二分】

文章目录 前言LeetCode、2300. 咒语和药水的成功对数【中等,排序二分】题目及类型思路及代码 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域…

VB6.0 从内存地址获取String内容

VB6.0开发,调用了DLL中的方法去获取两个字符串,但实际返回字符串的地址。 怎样从地址得到完整的字符串内容呢?方法如下,核心是oleaut32.dll中的SysAllocStringByteLen方法: Private Declare Function SysAllocString…

插件分享 Chrome浏览器实现外语翻译自由

【有道灵动翻译】使用有道翻译大模型,沉浸式网页翻译的首选工具! 实时对照翻译:让任何网页变成对照。输入框即时翻译:输入中文轻松变英文。 🔥功能亮点🔥: 实时对照翻译:使用有道翻译大模型,无…