nifi集群_使用Docker时如何在集群NiFi中外部化授权和用户文件?

我正在运行一个安全的NiFi集群,其中每个NiFi节点都在Docker容器中运行 . 我需要外部化用户和策略的状态,所以基本上这两个文件:

authorizations.xml

users.xml

做这个的最好方式是什么?

在非集群环境中对我来说很好的一种天真的方法是在Docker容器中安装外部卷并将authorizations.xml,users.xml文件放在那里 . 通过这种方法,我可以移除NiFi Docker容器并在以后再次运行它,而不必担心会丢失任何更改 . 最初我的第一个想法是在集群环境中做同样的事情,并将所有节点指向相同的物理文件 . 但据我所知,如果我这样做,进行初始更改的NiFi节点将更新文件,随后群集中的所有其他节点最终也会尝试更新所有这些文件 . 但是,它们已经由初始节点更新,因此如果它们没有遇到已经存在的更改的问题,它们可能会遇到获取写文件句柄的问题 .

另一种方法可以是定期将文件从NiFi docker容器写入外部位置 . 这有点乱,但它引出了如何将文件开始进入NiFi Docker的问题 . 我可以在启动期间从外部卷复制它们 . 但是当我在某个时刻添加一个额外的节点时,它也会复制文件,并冒着与生活在现有节点中的文件不同步的风险 . 如果新节点可以某种方式确定其他节点正在运行并具有配置,它可以工作,在这种情况下它根本不会引入文件,并且一旦节点加入集群,它们将由NiFi动态创建(根据NiFi文档) . 但这可能不那么容易 . 但也许仅仅确定当前是否还有其他节点正在运行?

我们可以让集群中的每个节点外化这些文件 . 也许这可能导致一些竞争条件,但似乎不太可能 . 更大的问题是我们在大多数情况下会有很多版本的文件完全相同,这可能会激怒我们的客户,他们希望最多只能拥有一份文件副本来处理 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值