提问者:小点点

我们可以通过cli与nifi交流吗?


我是否可以通过命令行与nifi通信。例如:

  1. 我想启动/停止处理器组中的特定处理器?
  2. 我想列出处理器组中的处理器?

我知道我们可以在浏览器中做到这一点,但我想知道我们是否可以与nifi连接并访问它?

我的最后一个问题,nifi只有一个带有flow. xml的画布吗?当我们拥有庞大的处理器和进程组时,我们如何使用与现有画布不同的单独画布创建新流?


共2个答案

匿名用户

根据olistaman的回答,对于1.9.2及更高版本,有一个CLI作为NiFi工具包的一部分。

没有特定的Apache NiFiCLI工具,但UI是REST服务,因此引用此RESTAPI[1],您可以使用curl[2]等CLI工具执行任何命令。

对于#1,这里是我在这里找到的用于启动处理器的示例CURL命令[3]:

curl 'http://localhost:8080/nifi-api/processors/2a817541-0158-1000-771e-93ca6d670429' -X PUT -H 'Content-Type: application/json' -H 'Accept: application/json, text/javascript, */*; q=0.01' --data-binary '{"revision":{"clientId":"2a81087c-0158-1000-1362-5452a699615c","version":3},"component":{"id":"2a817541-0158-1000-771e-93ca6d670429","state":"RUNNING"}}'

对于数字#2,只需使用文档中找到的“/process-group/{id}”的api。

当然,这些命令会根据您的NiFi实例是否安全而发生变化。

至于多个画布,目前不支持,但我以前听人提过。我建议向Apache NiFi用户列表[4]发送一个DISCUSS线程来讨论该功能。

[1] https://nifi.apache.org/docs/nifi-docs/rest-api/index.html

[2] https://curl.haxx.se/

[3] https://community.hortonworks.com/questions/64771/unable-to-updateexecute-processor-though-nifi-rest.html#

[4] users@nifi.apache.org

匿名用户

现在有一个NiFiCLI(截至2018年1月)。

此处捕获了一些有用的示例命令(由@tim-spann提供)。

享受!