大数据工具 flume 的安装配置与使用 (详细版)

参考网址:Flume 1.9用户手册中文版 --- 可能是目前翻译最完整的版本了

1,上传安装包

安装包链接:文件下载-奶牛快传 Download |CowTransfer

口令:x8bhcg

1,切换盘符到安装目录

cd /opt/moudles

解压文件到文件目录

解压命令:tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /opt/installs/

重命名:mv apache-flume-1.9.0-bin/ flume

2,配置环境变量

export FLUME_HOME=/opt/installs/flume

export PATH=PATH:FLUME_HOME/bin

记得刷新环境变量

source /etc/profile

3,修改一下flume的配置文件:
4,修改 JAVA_HOME 的路径为自己的 jdk 路径。

export JAVA_HOME=/opt/installs/jdk

安装完成

2,关于flume的使用

flume 的使用是编写 conf文件的,运行的时候指定该文件

定义组件的名字

<Agent>.sources = <Source>

a1.sources=s1

<Agent>.channels = <Channel1> <Channel2>

a1.channels=c1

<Agent>.sinks = <Sink>

a1.sinks=sink1

设置source 和 channel 之间的关系

<Agent>.sources.<Source>.channels = <Channel1> <Channel2> ...

a1.sources.s1.channels=c1

设置sink 和 channel 之间的关系

<Agent>.sinks.<Sink>.channel = <Channel1>

a1.sinks.sink1.channel=c1

先定义agent的名字,再定义agent中三大组件的名字

接着定义各个组件之间的关联关系

3,案例展示
Avro+Memory+Logger【主要用于演示,没有实战意义】

avro: 是监听某个端口是否有信息的工具

memory: 内存

logger: 控制台

即将演示一个场景:给服务器上的一个端口发送消息,消息经过内存,打印到控制台上。

先找source 中的avro看需要设置什么参数

#编写s1的类型是什么

a1.sources.s1.type = avro

a1.sources.s1.bind = 192.168.32.128

a1.sources.s1.port = 4141

a1.sources.s1.channels = c1

找到channel中的memory类型,再设置一下

a1.channels.c1.type = memory

a1.channels.c1.capacity = 10000

#source 或者 sink 每个事务中存取 Event 的操作数量

a1.channels.c1.transactionCapacity = 10000

接着查找sink,sink的类型是logger

a1.sinks.s2.channel = c1

a1.sinks.s2.type = logger

最终合并起来的文件就是:

a1.sources = r1

a1.channels = c1

a1.sources.r1.type = avro

a1.sources.r1.channels = c1

a1.sources.r1.bind = bigdata01

a1.sources.r1.port = 4141

a1.channels.c1.type = memory

a1.sinks = k1

a1.sinks.k1.type = logger

a1.sinks.k1.channel = c1

在flume文件夹下创建一个文件夹 myconf,用于存放我们写好的文件

进入后创建 avro-memory-log.conf

将配置文件的内容拷贝进去
先启动flume-ng

flume-ng agent -c ../ -f avro-memory-log.conf -n a1 -Dflume.root.logger=INFO,console

-c 后面跟上 配置文件的路径

-f 跟上自己编写的conf文件

-n agent的名字

-Dflume.root.logger=INFO,console INFO 日志输出级别 Debug,INFO,warn,error 等

接着向端口中发送数据:

flume-ng avro-client -c /opt/installs/flume/conf/ -H bigdata01 -p 4141 -F /home/hivedata/arr1.txt

给avro发消息,使用avro-client

flume是没有运行结束时间的,它一直监听某个Ip的端口,有消息就处理,没消息,就等着,反正不可能运行结束。

如果想停止,可以使用ctrl + c 终止flume。

相关推荐
CS创新实验室1 小时前
CS实验室行业报告:生物医药与生物工程行业就业分析报告
大数据·人工智能·生物医药
无忧智库3 小时前
跨行业数据要素可信流通体系建设:打破信任壁垒的完整工程方法论(WORD)
大数据·人工智能
小王毕业啦3 小时前
2007-2024年 省级-农林牧渔总产值、农业总产值数据(xlsx)
大数据·人工智能·数据挖掘·数据分析·社科数据·实证分析·经管数据
数据皮皮侠3 小时前
上市公司创新韧性数据(2000-2024)|顶刊同款 EIR 指数
大数据·人工智能·算法·智慧城市·制造
科研前沿3 小时前
纯视觉无感解算 + 动态数字孪生:室内外无感定位技术全新升级
大数据·人工智能·算法·重构·空间计算
科研前沿4 小时前
什么是时空融合技术?
大数据·人工智能·数码相机·算法·重构·空间计算
逸Y 仙X4 小时前
文章十九: ElasticSearch Full Text 全文本查询
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
Justice Young4 小时前
Flink测试题目及知识点整理(一)
大数据·flink
njsgcs4 小时前
我有待做任务清单和不良操作图片集,如何设计ai agent协助我完成工作
大数据·人工智能
BizViewStudio5 小时前
甄选方法:2026 企业新媒体代运营的短视频精细化运营与流量转化技巧
大数据·网络·人工智能·媒体