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

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 【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监听到,并成功地打印到了控制台。


目录
相关文章
|
30天前
|
网络协议 Linux
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
133 2
|
1月前
|
开发框架 .NET Linux
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
|
2月前
|
人工智能 Serverless API
函数计算产品使用问题之如何在一个Docker容器内运行一个持续监听特定端口的应用程序
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
1月前
|
网络协议
【qt】TCP的监听 (设置服务器IP地址和端口号)
【qt】TCP的监听 (设置服务器IP地址和端口号)
84 0
|
1月前
|
Linux Windows
Windows查找监听端口对应的进程及其路径
Windows查找监听端口对应的进程及其路径
|
3月前
|
Java Android开发
Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。
【6月更文挑战第23天】 Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。客户端连接服务器,发送"Hello, Server!"后关闭。注意Android中需避免主线程进行网络操作。
72 4
|
3月前
|
网络安全
阿里云8888端口设置安全组,宝塔控制台显示链接失败
阿里云8888端口设置安全组,宝塔控制台显示链接失败
44 0
|
4月前
|
存储 分布式计算 监控
【Flume】Flume 监听日志文件案例分析
【4月更文挑战第4天】【Flume】Flume 监听日志文件案例分析
|
4月前
|
存储 运维 监控
【Flume】flume 日志管理中的应用
【4月更文挑战第4天】【Flume】flume 日志管理中的应用
|
消息中间件 数据采集 SQL
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(一)
1、电商数仓(用户行为采集平台)数据仓库概念、用户行为日志、业务数据、模拟数据、用户行为数据采集模块、日志采集Flume(一)