Nifi从Shell停止所有处理器

Chr*_*ris 0 apache-nifi

出于管理目的,我正在寻找一个选项或命令来暂停/停止外壳上的所有Nifi进程。有没有办法做到这一点,或者我是否误解了背后的概念。

Up_*_*One 6

您可以使用curl发送一个api请求,告诉它停止主画布PG

curl --tlsv1.2 -i -H 'Content-Type: application/json' -XPUT -d '{"id":"PG ID","state":"STOPPED"}'  http://nifi-server-ip:port/nifi-api/flow/process-groups/PG ID
Run Code Online (Sandbox Code Playgroud)

这将停止主画布上的所有PG /处理器。

要获取PG ID,请转到主NiFi画布,该ID是Operate仪表板下的长ID。

  • NiFi为根进程组提供了一个快捷方式,您可以使用“ root”代替ID。 (3认同)

Cha*_*son 5

如果您习惯使用Python,那么我的项目NiPyApi支持此功能:

from nipyapi import config, canvas
_ = [canvas.schedule_processor(li, 'STOPPED') for li in canvas.list_all_processors()]
# Stops all processors anywhere in NiFi
Run Code Online (Sandbox Code Playgroud)

您可以在Github上克隆它:https : //github.com/Chaffelson/nipyapi
这些特殊的调用是新的,将很快发布到Pypi。