【发布时间】:2017-01-11 14:16:23
【问题描述】:
是否有可能通过命令行与 nifi 进行通信。例如:
- 我想启动/停止处理器组中的特定处理器?
- 我想列出处理器组中的处理器?
我知道我们可以在浏览器中完成,但我想知道我们是否可以连接 nifi 并访问它?
我的最后一个问题是,nifi 只有一个带有 flow.xml 的画布吗?当我们拥有庞大的处理器和流程组时,我们如何才能使用与现有画布不同的单独画布创建新流程?
【问题讨论】:
标签: apache-nifi
是否有可能通过命令行与 nifi 进行通信。例如:
我知道我们可以在浏览器中完成,但我想知道我们是否可以连接 nifi 并访问它?
我的最后一个问题是,nifi 只有一个带有 flow.xml 的画布吗?当我们拥有庞大的处理器和流程组时,我们如何才能使用与现有画布不同的单独画布创建新流程?
【问题讨论】:
标签: apache-nifi
根据 olisteadman 的回答,对于 1.9.2 及更高版本,有一个 CLI 作为 NiFi 工具包的一部分。
没有特定的 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 实例是否安全而改变。
至于多画布,目前尚不支持,但我之前听人提到过。我建议向 Apache NiFi 用户列表[4] 发送一个讨论线程来讨论该功能。
[1]https://nifi.apache.org/docs/nifi-docs/rest-api/index.html
[4] users@nifi.apache.org
【讨论】:
【讨论】: