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

简介: 【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监听到,并成功地打印到了控制台。


目录
相关文章
|
10月前
|
JSON 中间件 Java
【GoGin】(3)Gin的数据渲染和中间件的使用:数据渲染、返回JSON、浅.JSON()源码、中间件、Next()方法
我们在正常注册中间件时,会打断原有的运行流程,但是你可以在中间件函数内部添加Next()方法,这样可以让原有的运行流程继续执行,当原有的运行流程结束后再回来执行中间件内部的内容。​ c.Writer.WriteHeaderNow()还会写入文本流中。可以看到使用next后,正常执行流程中并没有获得到中间件设置的值。接口还提供了一个可以修改ContentType的方法。判断了传入的状态码是否符合正确的状态码,并返回。在内部封装时,只是标注了不同的render类型。再看一下其他返回的类型;
443 3
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
411 2
|
分布式计算 Java Hadoop
Hadoop-18 Flume HelloWorld 第一个Flume尝试!编写conf实现Source+Channel+Sink 控制台查看收集到的数据 流式收集
Hadoop-18 Flume HelloWorld 第一个Flume尝试!编写conf实现Source+Channel+Sink 控制台查看收集到的数据 流式收集
380 1
|
运维 安全 Cloud Native
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
核心系统转型问题之分布式数据库和数据访问中间件协作如何解决
|
消息中间件 中间件 API
中间件数据转换与处理
【7月更文挑战第6天】
591 6
|
存储 缓存 中间件
JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
|
网络安全
阿里云8888端口设置安全组,宝塔控制台显示链接失败
阿里云8888端口设置安全组,宝塔控制台显示链接失败
263 0
|
JavaScript 前端开发 算法
[练习]用Js获取html页面中表单提交的数据并且返回到控制台
[练习]用Js获取html页面中表单提交的数据并且返回到控制台
262 0
|
消息中间件 缓存 监控
中间件中数据生成者
【6月更文挑战第12天】
248 3

热门文章

最新文章