我们可以通过cli与nifi沟通吗?

时间:2017-01-11 14:16:24

标签: apache-nifi

是否有可能通过命令行与nifi通信。例如:

  1. 我想启动/停止处理器组中的特定处理器?
  2. 我想列出处理器组中的处理器?
  3. 据我所知,我们可以在浏览器中进行,但我想知道我们是否可以连接nifi并访问它?

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

2 个答案:

答案 0 :(得分:4)

没有特定的Apache NiFi CLI工具,但UI是REST服务,因此引用此REST API [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-groups / {id}”api。

当然,这些命令会根据你的NiFi实例是否安全而改变。

至于多幅画布,目前还没有支持,但我听过人们之前提到它。我建议将一个DISCUSS线程发送到Apache NiFi用户列表[4]来讨论该功能。

[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

答案 1 :(得分:1)

现在有一个NiFi CLI(自Jan 2018起)。

here(@ tim-spann捕获了一些有用的示例命令)。

享受!

enter image description here