10 分钟了解 Apache Nifi 在物联网的使用
微信公众号: 深广大数据Club
关注可了解更多大数据相关的资讯。问题或建议,请公众号留言;
如果你觉得深广大数据Club对你有帮助,欢迎转发朋友圈
多年来,物联网(IoT)一直存在于技术领域。有许多有趣的技术正被投射为“物联网的解决方案”。在本文中,将讨论IoT和NiFi实验。
什么是物联网?
根据维基百科的定义 -
物联网(Internet of Things,缩写IoT)
物联网(英语:Internet of Things,缩写IoT)是互联网、传统电信网等信息承载体,让所有能行使独立功能的普通物体实现互联互通的网络。
物联网一般为无线网,而由于每个人周围的设备可以达到一千至五千个,所以物联网可能要包含500兆至一千兆个物体。在物联网上,每个人都可以应用电子标签将真实的物体上网联结,在物联网上都可以查出它们的具体位置。通过物联网可以用中心计算机对机器、设备、人员进行集中管理、控制,也可以对家庭设备、汽车进行遥控,以及搜索位置、防止物品被盗等,类似自动化操控系统,同时透过收集这些小事的数据,最后可以聚集成大数据,包含重新设计道路以减少车祸、都市更新、灾害预测与犯罪防治、流行病控制等等社会的重大改变,实现物和物相联。
物联网将现实世界数字化,应用范围十分广泛。物联网拉近分散的信息,统整物与物的数字信息,物联网的应用领域主要包括以下方面:运输和物流领域、工业制造[2]、健康医疗领域范围、智能环境(家庭、办公、工厂)领域、个人和社会领域等,[3]具有十分广阔的市场和应用前景。
由于最终端连接的‘物’有千百种,因此极难制定一种统一性的规格适合所有的应用,这是所有物联网系统面对的难题.目前无论是 MQTT、CoAP 还是 AMQP 这类物联网标准都尝试着将终端应用抽象化,集成进一个固定的通信格式之内.
什么是MQTT?
它是一种非常简单,轻量级的基于发布 - 订阅消息的协议。引用维基百科 - 它专为连接远程位置而设计,其中需要“小代码占用”或网络带宽有限。
好了,说的够多了,我们开始行动吧。
我们在本教程中尝试做什么?
我们将使用来自https://www.hivemq.com/的服务,该服务将充当MQTT代理,模拟温度传感器之类的数据生成器。它是一个免费使用的服务.
先决条件
要执行本教程,我们需要以下内容
-
Windows/Mac/Linux机器与Java
-
Apache Nifi -可以从https://nifi.apache.org/download.html下载
-
服务联网。
什么是NiFi?
NiFi是一种易于使用,功能强大且可靠的系统,用于处理和分发数据。它基于之前由NSA(What?)开发的“ NiagaraFiles ”软件,并作为2014年技术转让计划的一部分开源。
启动NiFi
下载完成后,我们需要在文件conf/nifi.properties中进行一些快速配置。设置突出显示的属性并保存文件。你们都准备好了。在Windows上只需转到bin文件夹并运行-nifi.bat,在非Windows上运行nifi.sh.
如果一切顺利,您应该能够在http://localhost:8585/nifi上看到NiFi UI
准备传感器模拟器
使用传感器非常容易 - MQTT Broker模拟器。以下是步骤。
1.访问http://www.hivemq.com/demos/websocket-client/
2.使用默认设置,然后按“连接”按钮。
3.如下图所示,你的borker就准备好了
4.接下来,设置您选择的Topic名称,您就可以将消息发送给任何通过MQTT监听的消费者。
创建NiFi数据流
转到NiFi并创建数据流。我们需要以下处理器
ConsumeMQTT
这有助于从传感器流中收集数据。此处理器的配置如下所示
PUTFILE
这有助于我们将收集的数据存储到本地计算机上的文件中。相同的配置如下所示
一旦配置完成,只需启动流程,您应该看到在指定文件夹中收集的数据。
对于更高级别的实验,您可以考虑使用Hadoop而不是本地计算机。
数据可用后,您可以按照自己的方式进行处理。
注 - 如果您使用NiFi 1.7.1,您可能还需要执行以下附加活动 -
为Consume MMQT设置Max Queue Size属性
为PutFile定义自动终止关系设置
关注公众号