我们很难找到更新处理器配置的最佳方法,因为在开发阶段、测试阶段和prod阶段都在进行流程更新。当流部署到特定环境时,我们确实希望避免操作处理器中的主机、端口等引用。至少在我们的例子中,我们将有不同的主机来处理诸如ElasticSearch、PostGres等事情。
我们考虑过的事情:
如有任何建议或建议,将不胜感激。我们很有可能忽略考虑一个明显的解决办法。
编辑:
我们将使用Byran建议的模板。他们肯定会满足我们的需求,并似乎是一个很好的方式,我们控制配置跨越众多的环境。
发布于 2016-04-14 09:33:16
这种讨论经常出现,这里肯定有改进的余地.
当前的一种方法是将与环境相关的属性值提取到bootstrap.conf中,然后通过表达式语言引用它们,这样就可以将flow.xml.gz从一个环境移到另一个环境,这是正确的。正如您所提到的,这仅适用于支持表达式语言的属性。
为了使这一点在将来变得更容易,有一种叫做变量注册表的想法有一个特性建议:
https://cwiki.apache.org/confluence/display/NIFI/Variable+Registry
您可能希望看到的一个有趣的方法是使用模板。有一个GitHub项目可以用来帮助这一点:
发布于 2017-08-19 08:23:31
你可以看看这个帖子automating NIFI template deployment
为了自动化NIFI模板部署,有一个很好的工具:https://github.com/hermannpencole/nifi-config
1. Create a template on nifi
2. and download it
3. Extrac a sample configuration with the tools
https://stackoverflow.com/questions/36600840
复制相似问题