43

10 分钟了解 Apache Nifi 在物联网的使用

 5 years ago
source link: https://mp.weixin.qq.com/s/SxajH9S1S_61qzZK0BRo4A?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

bqAjay6.jpg!web

微信公众号: 深广大数据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代理,模拟温度传感器之类的数据生成器。它是一个免费使用的服务.

VFnQnea.jpg!web

先决条件

要执行本教程,我们需要以下内容

  • 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.

zmMvQjm.png!web

如果一切顺利,您应该能够在http://localhost:8585/nifi上看到NiFi UI

准备传感器模拟器

使用传感器非常容易 - MQTT Broker模拟器。以下是步骤。

1.访问http://www.hivemq.com/demos/websocket-client/

2.使用默认设置,然后按“连接”按钮。

3.如下图所示,你的borker就准备好了

7BvUBrJ.png!web

4.接下来,设置您选择的Topic名称,您就可以将消息发送给任何通过MQTT监听的消费者。

ieIvQvy.jpg!web

创建NiFi数据流

转到NiFi并创建数据流。我们需要以下处理器

ConsumeMQTT

这有助于从传感器流中收集数据。此处理器的配置如下所示

6nyam22.jpg!web

PUTFILE

这有助于我们将收集的数据存储到本地计算机上的文件中。相同的配置如下所示

y2yEFzv.jpg!web

一旦配置完成,只需启动流程,您应该看到在指定文件夹中收集的数据。 q63m6zz.jpg!web

对于更高级别的实验,您可以考虑使用Hadoop而不是本地计算机。

数据可用后,您可以按照自己的方式进行处理。

注 - 如果您使用NiFi 1.7.1,您可能还需要执行以下附加活动 -

为Consume MMQT设置Max Queue Size属性

为PutFile定义自动终止关系设置

关注公众号

mmumMve.jpg!web


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK