5.flume实战(二)
2024-08-25 03:11:53
需求:监控一个文件实时采集新增的数据并输出到控制台
简单理解就是:监控一个文件,只要这个文件有新的内容追加,就将它输出到控制台。
agent技术选型:exec source + memory channel + logger sink
下面写配置文件:
# example.conf: A single-node Flume configuration
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /usr/local/satori.txt
a1.sources.r1.shell = /bin/sh -c
a1.sources.r1.bind = localhost
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
指定type为exec,然后添加一个command,我们输入tail -F file_path,表示跟踪文件,指定一个shell,可以看到配置文件改的不是很多,至于这里的参数exec,可以去flume官网上查看
新建一个配置文件,就叫exec-memory-logger.conf
输入:flume-ng agent --name a1 --conf $FLUME_HOME/conf --conf-file $FLUME_HOME/conf/exec-memory-logger.conf -Dflume.root.logger=INFO,console
我们重定向一些内容到satori.conf里面去
可以看到,已经实施监控了
但我们目前都是输出到控制台上面,意义不大,我们也可以写到hdfs里面。
此时需要指定,type为hdfs,同时指定hdfs的路径,这个是离线处理的。
实时处理的话,需要到kafka
最新文章
- hibernate不同版本获取获取sessionFactory
- flask+sqlite3+echarts3+ajax 异步数据加载
- 无法解析类型 javax.servlet.http.HttpServletRequest。从必需的 .class 文件间接引用
- 命令行上的narrowing(随着输入逐步减少备选项)工具
- 在代码中修改TextView的DrawableRight图片
- 使用jvisualvm.exe 的Btrace插件监控应用程序
- mysql 错误1054
- 【Hibernate 9】悲观锁和乐观锁
- js模版引擎Mustache介绍
- LeetCode_Generate Parentheses
- Progit Update Check Page
- 谢欣伦 - 原创教程 - 使用GDI+绘制抗锯齿斜线
- UIKit中ImageView动画堆叠显示的微调整
- MSRDS机器人仿真软件学习资源汇总
- C#8.0可空引用类型的使用注意要点
- Linux下搭建测试环境
- Missile Command 导弹指令
- Linux 系统TCP连接内存大小限制 调优
- linux中grep/egrep的使用
- Mac git pull失败,最新操作系统导致 SSH issues with Mac OS X High Sierra