nifi服务器间拷贝文件,一个文件汇集搜索系统(NiFi + ELK)

目的

建立一个文件夹,文件夹中存放一些文本文件, 系统实时监测此文件夹,当有文件变化时候,自动执行入库功能(将文件内容推送到搜索库),

文件内容可以即时被搜索系统搜索到。

技术依赖

1、 NIFI -- 文件检测入库

2、 ElasticSearch -- 文件内存存储和搜索

3、 Kibana负责Elastic数据库的测试(dev tool功能)

NiFi流配置

Overview

ListFile -》 FetchFile -》 ExtractText -》 AttributeToJson -》 PutElasticHttp

7e8b9d07265916635f7147f73df1650f.png

ListFile

指定观测的文件夹。

a9a90081d6eb76d9062f16438092c167.png

FetchFile

配置不用修改。

符合获取文件内容,存储到flow content中。

b3bb88e06d80608fac70772ce5094c86.png

ExtractText

新增最后一个属性 fullContent ,其值是捕获文件中所有内容。

此属性会作为 flow attribute出现。

85cdcf2df9d45c2307642fa6e8be3e50.png

AttributesToJSON

在第一行,指定需要转换的属性名称。

第三行,执行转换成的JSON数据,保存的位置,是content,还是attribute。

fb7656288f3d642286f6e67431cb2388.png

PutElasticHttp

第一行,执行elastic的服务器。

94c14e8a454769ea139b3d79b6238352.png

倒数第三到第五行

指定了elastic中存储的要素, 文档id + 索引名 + 索引类型

675b2eb0f2ba9b16867a86062860007a.png

测试

创建一个含有 hello kitty 的文件。

1c42d0036c0a71a806932f2fcb48a50b.png

在kibana上查询 kitty关键字:

4c0e0a10ec45d366576c2fe59b997bfc.png

参考:

https://gitee.com/streamone/full-text-search-in-action/blob/master/doc/ElasticSearch%20%E5%85%A8%E6%96%87%E6%A3%80%E7%B4%A2%E5%AE%9E%E6%88%98.md

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值