NIFI 集群状态管理State Management
来源:互联网 发布:武汉理工网络教学平台 编辑:程序博客网 时间:2024/06/05 19:00
状态管理
NiFi为Processors, Reporting Tasks, Controller Services以及框架本身提供了一种持久化状态的机制。 这允许一个处理器,例如,在NiFi重新启动之后,从它离开的地方恢复。 此外,它允许处理器存储一些信息,以便处理器可以从集群中的所有不同节点访问该信息。 这允许一个节点获取另一个节点离开的位置,或者在集群中的所有节点之间进行协调。
Configuring State Providers
当组件决定存储或恢复状态时,它通过提供一个“Scope”来实现-本地节点(Node-local)或集群范围( Cluster-wide)。 然后根据此Scope以及配置的State Providers来确定用于存储和检索此状态的机制。 nifi.properties文件包含三个与这些State Providers相关的属性配置。
该XML文件由一个顶级的stateManagement元素组成,该元素具有一个或多个local-provider以及零个或多个cluster-provider元素。 每一个这些元素中的都包含一个id元素,用于指定nifi.properties文件中可以引用的标识符,以及一个class元素,该元素指定用于实例化State Provider的完全限定类名。 最后,这些元素中的每一个都可以有零个或多个property元素。 每个property元素都有一个属性,名称是State Provider支持的属性的名称。property元素的文本内容是属性的值。
一旦在state-management.xml文件(或nifi.state.management.configuration.file配置了的任何文件)中配置了这些State Provider,这些State Provider可能会被其id引用。
默认情况下,本地状态提供程序配置为WriteAheadLocalStateProvider,将数据保存到$ NIFI_HOME/state/local目录。 默认的集群状态提供程序被配置为ZooKeeperStateProvider。 默认的基于ZooKeeper的提供者在使用之前必须配置它的nifi.zookeeper.connect.string属性。
向ZooKeeper添加数据时,有两个访问控制选项:Open和CreatorOnly。 如果“Access Control”属性设置为“Open”,则允许任何人登录到ZooKeeper,并具有查看,更改,删除或管理数据的完全权限。 如果指定了CreatorOnly,则仅允许创建数据的用户读取,更改,删除或管理数据。 为了使用CreatorOnly选项,NiFi必须提供某种形式的认证。 有关如何配置身份验证的更多信息,请参见下面的ZooKeeper访问控制部分。
如果将NiFi配置为以独立模式运行,则不需要在state-management.xml文件中配置集群提供程序元素,实际上即使配置了也会被忽略。 但是,本地提供者元素必须始终存在。 此外,如果NiFi在集群中运行,则每个节点还必须具有集群提供程序元素并进行正确配置。 否则,NiFi将无法启动。
尽管这些提供程序需要配置的属性并不多,但是它们被外化为一个单独的state-management.xml文件,而不是通过nifi.properties文件进行配置,因为不同的实现可能需要不同的属性, 更容易维护和理解基于XML的文件中的配置,而不是将提供者的属性和所有其他NiFi框架特定的属性混合在一起。
应该注意的是,如果处理器和其他组件使用 Cluster-wide保存状态,如果实例是独立实例(不在集群中)或与集群断开连接,将使用本地状态提供程序。 这也意味着,如果将独立实例迁移到群集,则该状态将不再可用,因为组件将开始使用群集状态提供程序而不是本地状态提供程序。
其他配置
- NIFI 集群状态管理State Management
- Web前端的状态管理(State Management)
- HTTPClient4.5.2学习笔记(三): HTTP状态管理(state management)
- Apache nifi 集群安装
- nifi-集群搭建,新增用户
- NIFI 集群配置 Clustering Configuration
- Asp.Net State management
- Chapter21:State Management
- Windowing support&&State Management
- 状态(State)
- Nifi
- Nifi Docker集群-两个节点 (1)
- Nifi Docker集群-两个节点(2)
- Nifi Docker集群-两个节点(3)
- 使用State Server管理Session状态用法Custom
- 揭秘window mobile power management关于device power state的管理
- 揭秘window mobile power management关于device power state的管理
- Flex And Session State Management
- JAVA中float转换为string
- 蓝桥杯练习题之01字串
- Android | Android系统框架
- iOS11MBProgressHUD无法显示弹窗
- 文章标题
- NIFI 集群状态管理State Management
- JAVA多线程系列--并发工具类(CountDownLatch, CyclicBarrier, Semaphore,Exchanger)
- OpenFire+Spark安装及32位64位问题解决
- 逻辑英语_倒装与强调
- 正确的理解加密芯片
- C在字符串后面加/0和0
- Fragment详细学习解析
- FPGA结构(学习草稿,后面完善)
- 【java】J2EE的13个规范