我是否可以通过命令行与nifi通信。例如:
我知道我们可以在浏览器中做到这一点,但我想知道我们是否可以与nifi连接并访问它?
我的最后一个问题,nifi只有一个带有flow. xml的画布吗?当我们拥有庞大的处理器和进程组时,我们如何使用与现有画布不同的单独画布创建新流?
根据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提供)。
享受!