NIFI简易demo

该博客介绍了一个使用NIFI创建的WebSocket数据传输演示。通过设置NIFI的处理器,包括HandleHttpRequest、ExecuteStreamCommand、HandleHttpResponse、ModifyBytes、ListenWebSocket、PutWebSocket和PutFile,实现了从WebSocket接收数据并保存到文件的过程。博主详细讲解了每个处理器的配置步骤,并提供了创建index.html和server.sh文件的示例,最后展示了如何通过HTTP服务器查看保存的文件内容。
摘要由CSDN通过智能技术生成

首先我们需要搭建一个nifi的环境

这个demo可以简单的理解为,使用nifi创建一个web服务,编写一个简单的web页面,使用js的websocket向某个端口发送信息,再由nifi监控这个端口,将监听到的数据保存,可以使用httpd的方式查看。

首先我们需要安装一个httpd

yum install -y httpd
systemctl start httpd
systemctl enable httpd
mkdir /var/www/html/logs

然后我们访问cdh02:58080/nifi进入nifi的web页面。

在这里插入图片描述

选择顶端的Processor(处理器)拖动到面板中,类型选择handlehttprequest,

以此方法依次添加表中内容,并摆放到下图的位置,鼠标放到Processor中,会有一个箭头,拖动箭头到另一个Processor实现二者的链接。

Processor 链接类型 链接目标
handlehttprequest success ExecuteStreamCommand
ExecuteStreamCommand output stream HandleHttpResponse
original ModifyBytes
HandleHttpResponse
ModifyBytes
ListenWebSocket 全选 ModifyBytes
text message PutWebSocket
PutWebSocket success PutFile
PutFile

在这里插入图片描述

handlehttprequest设置

双击handlehttprequest打开设置,SETTINGS标签中取消勾选success

选择PROPERTIS标签,如图所示。

在这里插入图片描述

Listening Port 6688
Hostname cdh02
HTTP Context Map create new service

加粗部分是必填项,注意这里新建了standardHttpContextMap之后还需要点击右侧的箭头进行激活,激活页面如图。

在这里插入图片描述

找到你刚才新建的Map,点击小闪电进行激活,Enable。

退出后发现之前的感叹号变成方块就是配置成功。

在这里插入图片描述

ExecuteStreamCommand设置

SETTINGS标签中勾选nonzero status。

PROPERTIS标签,注意这里的CommandPath目前是空的,一会儿我们要在这个目录下创建命令脚本

Command Path /root/Archive/server.sh
Ignore STDIN false

HandleHttpResponse设置

SETTINGS标签中勾选success,failure

PROPERTIS中修改内容,这里的ContextMap就是刚刚创建的Map。

HTTP Status Code 200
HTTP Context Map StandardHttpContextMap

ModifyBytes设置

SETTINGS标签中勾选success

PROPERTIS按照默认配置即可

ListenWebSocket设置

PROPERTIS标签中修改设置,这里需要重新创建一个jettyWebSocketServer

WebSocket Server ControllerService create new service
Server URL Path /echo

仍然按照之前的方法进行激活,并且需要设置这个监听的端口号为9998。

PutWebSocket设置

SETTINGS标签中勾选failure

PROPERTI

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值