NiFi 集群知识点 | 学习笔记

简介: 快速学习 NiFi 集群知识点

开发者学堂课程【NiFi 知识精讲与项目实战(第二阶段):NiFi 集群知识点学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/706/detail/12531


NiFi 集群知识点

内容介绍:

一、NiFi 集群知识概述

二、NiFi 集群束语


一、NiFi 集群知识概述

用户(DFM)可能会发现在单台的服务器上使用 NiFi 可能不能够支撑数据流的数据量,这时就需要一种解决方案,可以在多台服务器上运行的数据流。但是这样会产生一个问题,用户每一次想要更改数据流的时候,必须在每一个服务器上都进行更改,然后还要逐个监视每一台服务器。如果使用了 NiFi 集群,就可以在增加处理能力的同时使用单独的一个接口来控制整个集群,那也就可以通过接口来快速的更改整个集群的数据流,并且对整个数据流进行监控,NiFi 集群允许用户通过一次更新将所更改的全部内容复制到集群的所有节点。通过这个单独的接口,用户还可以去监控所有节点的健康状况以及它们的状态、信息。如下图。

image.png

NiFi 使用的是零主集群的模式,NiFi 集群中每一个节点都会对数据执行相同的任务,但是每一个节点都在不同的数据集上进行预警,其中的一个节点会被自动的选择成为集群协调器。集群当中的所有节点都会像这个集群协调器发送心跳信息,并且集群协调器会负责断开,在某一段时间之内没有心跳的节点。当新节点选择加入集群的时候,这个新节点首先要连接到集群协调器,如果集群协调器允许这个节点加入该集群,当前的流就会负载给新节点进行处理。如果节点的流配置和集群协调器的版本不一样,那这个节点将会加入失败。


二、NiFi 集群束语

下面引入另外几个束语,它是 NiFi 集群里面所特有的束语,在设置集群之前需要先提前了解一下。

1.NiFi 集群协调器(NiFi Cluster Coordinator)

NiFi 集群协调器是NiFi集群中的节点,负责管理集群中允许执行任务的节点,并为新加入的节点提供最新的数据流量。当 DataFlow Manager 管理集群中的数据流时,可以通过集群中任何节点的用户界面执行此操作。然后,所做的任何更改都将复制到集群中的所有节点。

2.节点(Nodes)

指的是集群中多个不同的 NiFi 服务,每个集群由一个或多个节点组成。节点执行实际的数据处理。

3.主节点(Primary Node)

主节点在之前的入门阶段也进行过讲述,每个集群都有一个主节点。它的主要目的是为了运行一些不方便在整个进群中运行的任务,即独立的任务会在主节点上运行。

image.png

4.孤立的 Processor

在 NiFi 集群中相同的数据流会在所有节点上运行,但是可能存在一种情况,不希望每一个处理器都是在集群的状态下运行。比如有一些处理器会和外部的服务进行通信,像读取数据库,如果读取数据库在每一个集群的节点运行,会出现重复读取的情况。这些处理器会读取文件,如果这样的组件在集群中每一个节点都去运行的,就会存在重复读取的问题,所以这个时候就会把这样类型的处理器设置为只在主节点上进行,解决重复读取的问题。独立处理器获取到数据信息后还会有后续的处理,后续的处理可以通过配置让它发送到集群中的其他所有节点上,然后实现负载均衡消费。

5.心跳

心跳是和 zookeeper 有关的,类似于 zookeeper 机制。NiFi 节点也是通过心跳把健康状况和状态传送给集群协调器,然后就可以通过这样的心跳知道有哪些节点处于连接状态正常工作。默认情况 NiFi 节点五秒钟发送一次心跳,如果集群协调器在40秒内没有从节点接收到心跳信息,那么它就会判断这个节点因为没有心跳而死亡,会断开这个节点。节点发送时的五秒的设置可以在 nifi.properties 文件中配置。集群协调器断开节点主要是因为集群协调器需要确保集群中每一个节点都处于活着的同步状态,如果没有定期收到节点信息,那么就无法确认节点是否还继续存活。如果 NiFi 节点被判断死亡之后就重新发送心跳,这个协调器就会认为这个节点又复活了,会自动的把这个节点重新加入到集群当中。一旦集群协调器接触到心跳,之前由于心跳不足而导致的断开连接和重新连接的信息都会报告给用户界面的公告中。

相关文章
|
存储 安全 Java
【NiFi】(一)NiFi 简介及核心概念
【NiFi】(一)NiFi 简介及核心概念
2430 0
【NiFi】(一)NiFi 简介及核心概念
|
消息中间件 NoSQL 中间件
Kafka 实战开篇-讲解架构模型、基础概念以及集群搭建(上)
Kafka 实战开篇-讲解架构模型、基础概念以及集群搭建
306 0
|
消息中间件 存储 Kafka
Kafka 实战开篇-讲解架构模型、基础概念以及集群搭建(下)
Kafka 实战开篇-讲解架构模型、基础概念以及集群搭建(下)
171 0
|
Ubuntu Shell Docker
分布式学习十一:搭建zookeeper集群
分布式学习十一:搭建zookeeper集群
214 0
分布式学习十一:搭建zookeeper集群
|
存储 XML Linux
NIFI 集群知识点 | 学习笔记
快速学习 NIFI 集群知识点
265 0
NIFI 集群知识点  |  学习笔记
|
存储 负载均衡 Java
Nifi 架构 | 学习笔记
快速学习 Nifi 架构
259 0
Nifi 架构  |  学习笔记
|
XML 数据格式 开发者
了解 Nifi 其他组件 | 学习笔记
快速学习了解 Nifi 其他组件
287 0
了解 Nifi 其他组件  |  学习笔记
|
存储 中间件 关系型数据库
MyCat-入门-核心概念-分片 | 学习笔记
快速学习 MyCat-入门-核心概念-分片
62 0
MyCat-入门-核心概念-分片 | 学习笔记
|
监控 网络协议 Java
Nifi 安装-1 | 学习笔记
快速学习 Nifi 安装-1
747 0
Nifi 安装-1  |  学习笔记
|
Linux 开发者
Nifi 安装-2 | 学习笔记
快速学习 Nifi 安装-2
230 0
Nifi 安装-2  |  学习笔记