NiFi的集群部署有两种方式,即使用其自带的zookeeper或使用独立的zookeeper。本次部署采用的是独
立的zookeeper,也是实际生产中常见的部署方式;自带的zookeeper部署仅供参考,一般用于开发或
测试环境。
1)、使用NiFi集成的zookeeper
NiFi依赖于ZooKeeper以实现集群配置。但是,在有些环境中,部署了NiFi,而没有维护现有的
ZooKeeper集群。为了避免强迫管理员维护单独的ZooKeeper实例的负担,NiFi提供了嵌入式
ZooKeeper服务器的选项。
通过设置 nifi.properties 中的nifi.state.management.embedded.zookeeper.start属性为true来运行嵌
入式的ZooKeeper服务器。
通常建议在3或5个节点上运行ZooKeeper。关于zookeeper的作用或部署要求详见本人zookeeper专栏
相关内容。
如果nifi.state.management.embedded.zookeeper.start属性设置为true,则 nifi.properties 中的
nifi.state.management.embedded.zookeeper.properties属性也需要设置。它用来指定要使用的
ZooKeeper属性文件。这个属性文件至少需要配置ZooKeeper的服务器列表。另注意,由于ZooKeeper
将侦听这些端口,因此可能需要将防火墙配置为打开这些端口。默认值为2181,但可以通过
zookeeper.properties文件中的clientPort属性进行配置。
使用嵌入式ZooKeeper时,/ conf / zookeeper.properties文件具有名为dataDir的属性。默认情况下,此
值为./state/zookeeper。如果多个NiFi节点正在运行嵌入式ZooKeeper,则必须告知服务器它是哪一
个。通过创建名为myid的文件 并将其放在ZooKeeper的数据目录中来实现。此文件的内容应该是不同服
务器的唯一索引值。
对于某一个ZooKeeper服务器,进行如下操作
对于将运行ZooKeeper的下一个NiFi节点,进行如下操作
采用三个节点的集群,且在一台机器上搭建,不同节点的端口会不同;如果搭建在三台机器上,IP不
同,那么端口可以相同。
1、上传并解压
上传nifi-1.9.2-bin.tar.gz文件到服务器的/usr/local/bigdata目录下,并进行解压:
在同个目录下创建三个副本,即将上文中解压的文件复制三份。