我们正在努力寻找更新处理器配置的最佳方法,因为流程通过开发,测试和产品阶段进行.当流被部署到特定环境时,我们真的希望避免在处理器中操纵主机,端口等引用.至少在我们的例子中,我们将为ElasticSearch,PostGres等提供不同的主机.其他人如何处理这个?
我们考虑过的事情:
任何提示或建议将不胜感激.很有可能我们忽略了一个明显的解决方案.
编辑:
我们将使用Byran建议的模板.它们肯定会满足我们的需求,并且似乎是我们在众多环境中控制配置的好方法.
这个讨论经常出现,这里肯定有改进的余地......
您是正确的,目前一种方法是将与环境相关的属性值提取到bootstrap.conf中,然后通过表达式语言引用它们,以便flow.xml.gz可以从一个环境移动到另一个环境.正如您所提到的,这仅适用于支持表达式语言的属性.
为了使将来更容易,有一个名为变量注册表的想法的功能提议:
https://cwiki.apache.org/confluence/display/NIFI/Variable+Registry
您可能想要看一个有趣的方法是使用模板.有一个GitHub项目可以用来帮助解决这个问题:
https://github.com/aperepel/nifi-api-deploy