【Flume中间件】(1)监听netcat44444端口并将数据打印到控制台

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
注册配置 MSE Nacos/ZooKeeper,118元/月
性能测试 PTS,5000VUM额度
简介: 【Flume中间件】(1)监听netcat44444端口并将数据打印到控制台

netcat-memory-logger

netcat是用来监听某一端口的数据,所以我们可以使用nc命令进行模拟,然后用Flume的source端监听该端口,然后传输到channel,最终传到logger控制台。

channel通常有两种形式,一种是memory,另外一种是file,两种方式分别基于内存和磁盘,可想而知,memory的效率会高很多,而磁盘的效率会相对差一点,但是基于磁盘的缓冲有一个优点就是能够大幅度的防止数据丢失,因为如果采用内存的话,一旦该服务器宕机,那么缓存在内存中的数据就会丢失,而缓冲在磁盘中,宕机恢复后会从磁盘重新进行读取,这样会更加可靠。

sink采用logger一般是用于检测,方便排错,将一些日志或数据传输到控制台。

我们要执行上述的任务,就要更改相应的Flume配置信息。

a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
a1.sinks.k1.type = logger
a1.sinks.k1.hostname = hadoop104
a1.sinks.k1.port = 44444
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1  

上边的capacity的1000不是对应什么字节或者内存大小这样,它对应的该缓存能够容纳多少事件,因为我们的数据从source端传过来后,Flume会对其进行加工,包装成一个Event类,包含头部和身体,身体一般就是序列化后的数据,而head对应我们自己封装的数据,对于拦截器可能会使用到,将事件拦截下,包装一些信息在里面。

那我们将文件配置好了,如何启动呢?

bin/flume-ng agent -n a1 -c conf -f job/netcat-memory-logger.conf -Dflume.root.logger=INFO,console

上述的命令意思就是开启Flume任务,agent是代表打开客户端,-n a1就是本次flume的任务名字,因为我们在一台服务器上面可以开多个任务去监控不同的任务,所以就要有名字进行区分,-c conf是用来加载配置信息,-f job/netcat-memory-logger.conf就是加载我们上面配置的文件,-Dflume.root.logger=INFO,console的意思就是将信息类日志信息级别的打印到控制台,如果你不加该命令,你会发现在控制台上看不到任何输出信息。

我们运行后,用nc localhost 44444与本机的44444端口进行通信,向44444端口发送数据,打开Flume任务进行监听该端口的数据。

我们可以看到我们向44444端口发送的hello和world成功被flume监听到,并成功地打印到了控制台。


目录
相关文章
|
2月前
|
分布式计算 Java Hadoop
Hadoop-18 Flume HelloWorld 第一个Flume尝试!编写conf实现Source+Channel+Sink 控制台查看收集到的数据 流式收集
Hadoop-18 Flume HelloWorld 第一个Flume尝试!编写conf实现Source+Channel+Sink 控制台查看收集到的数据 流式收集
33 1
|
4月前
|
网络协议 Linux
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
704 2
|
5月前
|
存储 缓存 中间件
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
50 2
|
4月前
|
运维 安全 Cloud Native
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
|
4月前
|
监控 网络协议 Linux
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
|
4月前
|
传感器 C# 监控
硬件交互新体验:WPF与传感器的完美结合——从初始化串行端口到读取温度数据,一步步教你打造实时监控的智能应用
【8月更文挑战第31天】本文通过详细教程,指导Windows Presentation Foundation (WPF) 开发者如何读取并处理温度传感器数据,增强应用程序的功能性和用户体验。首先,通过`.NET Framework`的`Serial Port`类实现与传感器的串行通信;接着,创建WPF界面显示实时数据;最后,提供示例代码说明如何初始化串行端口及读取数据。无论哪种传感器,只要支持串行通信,均可采用类似方法集成到WPF应用中。适合希望掌握硬件交互技术的WPF开发者参考。
82 0
|
4月前
|
开发框架 .NET Linux
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
|
5月前
|
人工智能 Serverless API
函数计算产品使用问题之如何在一个Docker容器内运行一个持续监听特定端口的应用程序
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
4月前
|
网络协议
【qt】TCP的监听 (设置服务器IP地址和端口号)
【qt】TCP的监听 (设置服务器IP地址和端口号)
244 0

热门文章

最新文章