Nifi 集群配置

use*_*617 0 apache-nifi

我目前正在一个 VM 上运行一个具有两个节点的集群,两个节点都列出了不同的端口,一个在端口 80 上,一个在端口 81 上。我的防火墙配置为允许端口 80 通信。话虽如此,如果我断开端口 80 的节点,UI 会向我发送此消息“此节点当前未连接到集群。此处对数据流所做的任何修改都不会在整个集群中复制。” 但是后台的进程连接到新节点并保持正常运行,并且画布(UI)出现错误,我在屏幕左上角收到“断开连接消息”,它通常会显示您有多少个节点正在运行,但如果我断开端口 81 上的节点,一切运行顺利。不确定两个节点是否需要在同一个端口上,或者如果两个节点都需要在同一个端口但不同的虚拟机上。任何人都可以帮忙吗?

Jam*_*mes 5

Apache NiFi 1.x 集群遵循零主控设计。每个集群节点都运行一个活动的 NiFi 进程,每个节点都在其端口(此处为 80 和 81)上运行 Web 和 API 服务器。因为您在同一台物理机器上运行这两个进程,所以它们需要不同的端口。

当您与端口 80 上的 NiFi 进程通信时——更改流、启动/停止处理器等——它将与端口 81 上的 NiFi 进程协调这些更改。如果您连接到端口 81 上的 UI,您将看到您的更改反映,您还可以进行跨集群协调的更新。

如果您从集群中删除一个节点,则此协调不再涉及该节点。

通常,您会公开每个集群节点的 Web UI/API 端口,以便如果一个节点出现故障或断开连接,您可以继续通过任何其他活动的、健康的节点来管理集群。