【问题标题】:Apache NiFi Controller Start not working with nipyapi clientApache NiFi 控制器开始无法使用 nipyapi 客户端
【发布时间】:2019-06-08 15:00:19
【问题描述】:

我一直在使用 nipyapi 客户端来管理新的 Apache NiFi 部署并且运行良好,但是在尝试启用控制器服务时遇到了问题。

我的设置:

我在 docker 中运行 NiFi,每次容器启动时都会执行一系列步骤,例如:

  • 构建 NiFi 服务器 - 确定
  • 下载 temapltes.xml - 确定
  • 将模板上传到 NiFi - 好的
  • 将模板部署到 NiFi Canvas - 好的
  • 启用控制器服务 - 错误
import nipyapi
nipyapi.config.nifi_config.host = 'http://localhost:9999/nifi-api'
nipyapi.canvas.get_controller('MariaDB', identifier_type='name', bool_response=False)
#Enable Controler
headers = {'Content-Type': 'application/json'}
url = 'http://localhost:9999/nifi-api/flow/process-groups/'+nipyapi.canvas.get_root_pg_id()+'/controller-services'
r = requests.get(url)
reponse = json.loads(r.text)
controllerId = reponse['controllerServices'][0]['id']

nipyapi.canvas.schedule_controller(controllerId, 'True', refresh=False)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.5/dist-packages/nipyapi/canvas.py", line 1222, in schedule_controller
    assert isinstance(controller, nipyapi.nifi.ControllerServiceEntity)
AssertionError

不知道我错过了什么!

PS - 我一直在尝试 nifi-toolkit 但效果不佳

 ./cli.sh nifi pg-enable-services --processGroupId 2b8b54ca-016b-1000-0655-c3ec484fd81d -u http://localhost:9999 --verbose

有时有效,有时无效!

我想坚持使用一种工具,例如:toolkit 或 nipyapi(更快)

任何帮助都会很棒!谢谢

【问题讨论】:

  • 这里没什么好说的... nifi 中发生的错误是什么? nifi日志中有什么? cs 在 nifi 中最终处于什么状态?

标签: apache-nifi nipyapi


【解决方案1】:

根据错误,NiPyAPI 期望传递控制器对象,而不仅仅是 ID。

【讨论】:

  • 控制器对象是什么?是 Json sn-p 还是什么?
  • 这是 NiFi REST 接口返回 canvas.get_controller 命令的完整 json 对象。我可以修改它以接受控制器的 UUID 并在未来的版本中帮助检索它 - 我已经打开了一个问题来跟踪它。 github.com/Chaffelson/nipyapi/issues/137
猜你喜欢
  • 2019-02-17
  • 1970-01-01
  • 1970-01-01
  • 2013-02-09
  • 1970-01-01
  • 1970-01-01
  • 2020-04-07
  • 2020-08-19
  • 1970-01-01
相关资源
最近更新 更多