出于管理目的,我正在寻找一个选项或命令来暂停/停止外壳上的所有Nifi进程。有没有办法做到这一点,或者我是否误解了背后的概念。
您可以使用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。
如果您习惯使用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。