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

devtools/2024/12/22 7:29:04/

下载

官网下载:
https://flume.apache.org/download.html

安装

基本上不需要做什么配置,下载后解压即可使用!!

  • 下载安装包:apache-flume-1.11.0-bin .tar.gz

  • 上传至 linux 的 /opt/ 目录下

  • 解压至 /opt/apps(可以自定义目录)

  • 修改简短名称(方便配置)

  • 配置环境变量(方便调用)

解压安装

[zhang@node2 flume]$ cd /opt  	# 切换到 /opt 目录下
[zhang@node2 opt]$ ll			# 列出当前目录下文件,确认已经存在	
total 885452
-rw-r--r--. 1 zhang zhang  87380462 Apr 12 22:44 apache-flume-1.11.0-bin_.tar.gz
# 解压到 apps 下
[zhang@node2 opt]$ tar -zxvf apache-flume-1.11.0-bin_.tar.gz -C apps
# 解压完成后,进入apps目录
[zhang@node2 opt]$ cd apps
# 修改为简短的名字
[zhang@node2 apps]$ mv apache-flume-1.11.0-bin/ flume
[zhang@node2 apps]$ ll
total 0
drwxrwxr-x.  7 zhang zhang 187 Apr 13 14:17 flume
# 进入 flume 目录
[zhang@node2 apps]$ cd flume/
# 列出 flume 目录下的文件
[zhang@node2 flume]$ ll
total 244
drwxr-xr-x. 2 zhang zhang     62 Apr 13 14:17 bin
-rw-r--r--. 1 zhang zhang  89032 Oct 17  2022 CHANGELOG
drwxr-xr-x. 2 zhang zhang    121 Apr 13 14:17 conf
-rw-r--r--. 1 zhang zhang   5681 Jan 21  2022 DEVNOTES
-rw-r--r--. 1 zhang zhang   2873 Jan 21  2022 doap_Flume.rdf
drwxr-xr-x. 5 zhang zhang   4096 Oct 17  2022 docs
drwxrwxr-x. 2 zhang zhang   8192 Apr 13 14:17 lib
-rw-r--r--. 1 zhang zhang 108909 Oct 17  2022 LICENSE
-rw-r--r--. 1 zhang zhang   8832 Oct 17  2022 NOTICE
-rw-r--r--. 1 zhang zhang   2483 Jan 21  2022 README.md
-rw-r--r--. 1 zhang zhang   1590 Oct 10  2022 RELEASE-NOTES
drwxrwxr-x. 2 zhang zhang     69 Apr 13 14:17 tools

配置环境变量

配置环境变量是为了方便操作 flume 命令

配置方式可以 /etc/profile 全局变量 或 ~/.bashrc 当前用户有效

编辑 .bashrc 文件

# 编辑当前用户环境变量 添加 FLUME_HOME 和 path 中 增加 flume的 bin 目录
[zhang@node2 conf]$ vim ~/.bashrc # 添加 flume 配置之后的 内容如下
JAVA_HOME=/opt/apps/jdk1.8.0_281
HADOOP_HOME=/opt/apps/hadoop-3.2.4
HIVE_HOME=/opt/apps/hive3.1
CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
FLUME_HOME=/opt/apps/flume
PATH=~/mybin:$JAVA_HOME/bin:$HIVE_HOME/bin:$FLUME_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_CLASSPATH=$(hadoop classpath)
export JAVA_HOME HADOOP_HOME CLASSPATH PATH# 修改立即起效
[zhang@node2 conf]$ source ~/.bashrc # 查看 flume 版本
[zhang@node2 flume]$ flume-ng version
Flume 1.11.0
Source code repository: https://git.apache.org/repos/asf/flume.git
Revision: 1a15927e594fd0d05a59d804b90a9c31ec93f5e1
Compiled by rgoers on Sun Oct 16 14:44:15 MST 2022
From source with checksum bbbca682177262aac3a89defde369a37

安装配置完成后,接下来通过几个案例来学习 flume 的使用,同时验证 flume 是否安装配置成功。

Flume 使用案例

案例一:监听网络端口:

Flume 官网提供了一个简单的案例:

Here, we give an example configuration file, describing a single-node Flume deployment. This configuration lets a user generate events and subsequently logs them to the console.

在这里,我们给出一个示例配置文件,描述单节点Flume部署。此配置允许用户生成事件并随后将其记录到控制台。

需求:监听指定 IP 上的某端口通信数据抓取

配置

新建配置文件 netcat.conf , 输入如下内容:

# 命名此 agent 上的组件
a1.sources = r1
a1.sinks = k1
a1.channels = c1# 配置 source 组件
# 指定 source 组件类型为 netcat
a1.sources.r1.type = netcat
# 绑定主机
a1.sources.r1.bind = node1 
# 绑定端口
a1.sources.r1.port = 44444# Describe the sink
a1.sinks.k1.type = logger# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1

在这个配置中:

  • a1 是 Flume Agent 的名称。
  • r1 是 Source 的名称,其类型被设置为 netcat
  • netcat Source 允许 Flume 从一个网络连接接收数据。这种配置适用于那些希望通过网络接口(如 TCP 或 UDP)向 Flume 发送数据的应用程序或工具。
  • bind 属性指定了 Source 应监听的主机地址。这里设置为 localhost,表示仅接受来自本地主机的连接。您可以将其替换为具体的 IP 地址(如 0.0.0.0 表示监听所有网络接口)。
  • port 属性指定了 Source 应监听的端口号,这里是 44444。发送方需要使用这个端口来连接并发送数据到 Flume Agent。
  • logger表示您正在设置一个名为k1的 Flume 数据接收端(Sink),类型为loggerlogger` Sink 是一种非常简单的调试工具,它将从上

http://www.ppmy.cn/devtools/4159.html

相关文章

JavaScript函数⭐

一,函数的使用 1.1函数的定义 函数就是封装了一段可以被重复执行的代码块 目的:让大量代码重复使用 1.2封装 函数的封装是把一个或多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口 封装类似于把电脑配件整合组装到机箱中…

网络安全(黑客)—2024自学

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成熟…

【力扣 | 分享】高频 SQL 50 题(基础版)

题单 查询可回收且低脂的产品寻找用户推荐人大的国家文章浏览 I无效的推文 连接使用唯一标识码替换员工ID产品销售分析 I进店却未进行过交易的顾客上升的温度每台机器的进程平均运行时间员工奖金学生们参加各科测试的次数至少有5名直接下属的经理确认率有趣的电影平均售价项目员…

Docker入门

入门Docker涉及到理解其基本概念、安装Docker、学习基础操作,并逐步实践应用到实际开发或运维场景中。以下是一份简明的Docker入门步骤指南: 1. 理解基本概念 确保对上述回答中提到的Docker核心概念——容器、镜像、Docker客户端与守护进程有清晰的认识…

Visual Studio code无法正常执行Executing task: pnpm run docs:dev

最近尝试调试一个开源的项目,发现cmd可以正常启动,但是在vs中会报错,报错内容如下 Executing task: pnpm run docs:dev pnpm : 无法加载文件 E:\XXXX\pnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 http…

【Unity】Unity项目启动时报找不到Git

【背景】 在一台新机器上云同步已存在的项目后,打开时报找不到Git,导致项目退出。 【分析】 package manager中有一个导入package的功能就是用git clone,正好我的项目中有一个package就是用这种方法引入的。但是新机器上没有git&#xff0…

记录一下hive启动metestore服务时报错

【背景说明】 之前hadoop有问题,把hadoop和MySQL删了重装,hive没有动,然后启hive的metastore服务的时候,显示找不到metastore数据库 【报错】 Caused by: java.lang.reflect.InvocationTargetExceptionat sun.reflect.Generated…

【C++】日期类的实现

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…