由于blog各种垃圾评论太多,而且本人审核评论周期较长,所以懒得管理评论了,就把评论功能关闭,有问题可以直接qq骚扰我

nifi 集群部署1.21 版本

大数据 西门飞冰 1568℃
[隐藏]

1.nifi 简介

nifi 是一个数据同步的框架,像是flume和datax可以完成的操作,nifi也可以完成。而且nifi有一个官方提供的web ui,我们所有的操作都可以在web ui上通过方块的形式拖拽来完成,只需要填写相关的参数,就可以实现相对应的功能,方便了相关人员的配置。相对于flume和datax的使用也更加友好。

数据同步框架针对不同的数据源会提供不同的处理器,只需要配置对应的处理器就可以实现对应的功能。nifi提供的处理器有200多个,而且还支持用户自己进行扩展。

Apache NiFi 是由美国国家安全局(NSA)开发的,并于2014年被捐赠给 Apache 软件基金会。所以安全等级非常高。其他大数据的框架在安全性方面则没有这些优势。

官网:https://nifi.apache.org/docs.html

2.nifi 集群构建

nifi 集群依赖外部zookeeper,需要先安装一个zookeeper集群,这里省略zk内容

2.1.安装

nifi 下载和安装

wget https://archive.apache.org/dist/nifi/1.21.0/nifi-1.21.0-bin.zip
unzip nifi-1.21.0-bin.zip -d /usr/local/
cd /usr/local/
ln -s nifi-1.21.0/ nifi

2.2.生成证书

nifi 集群部署要求使用nifi-toolkit生成对应的验证证书,并且集群中所有节点的证书都是一样的才能构建成一个集群。

安装nifi-toolkit

wget https://archive.apache.org/dist/nifi/1.21.0/nifi-toolkit-1.21.0-bin.zip
unzip nifi-toolkit-1.21.0-bin.zip -d /usr/local/

执行脚本命令生成证书

[root@hadoop-test01 nifi-toolkit-1.21.0]# ./bin/tls-toolkit.sh standalone -C 'CN=username, OU=NIFI' -n 'hadoop-test01,hadoop-test02,hadoop-test03' -K 123456789012 -S 123456789012 -P 123456789012 -o 'outlog'

参数解析:

standalone:表示单点生成证书

-C 生成适合在指定 DN 的浏览器中使用的客户端证书 里面的都是一些标记配置

-n 设置节点地址

如下参数都是设置密码的意思,需要自己手动设置,否则会随机生成,随机生成的密码在使用就麻烦了

–keyPassword(-K) 设置需要使用的密码

–keyStorePassword(-S)设置要使用的密钥库密码

–trustStorePassword (-P)设置要使用的密钥库密码

证书输出内容如下:

[root@hadoop-test01 nifi-toolkit-1.21.0]# ll outlog/
总用量 16
-rw------- 1 root root 3515 4月  25 20:45 CN=username_OU=NIFI.p12
-rw------- 1 root root   43 4月  25 20:45 CN=username_OU=NIFI.password
drwx------ 2 root root   71 4月  25 20:45 hadoop-test01
drwx------ 2 root root   71 4月  25 20:45 hadoop-test02
drwx------ 2 root root   71 4月  25 20:45 hadoop-test03
-rw------- 1 root root 1233 4月  25 20:45 nifi-cert.pem
-rw------- 1 root root 1675 4月  25 20:45 nifi-key.key
[root@hadoop-test01 nifi-toolkit-1.21.0]# ll outlog/hadoop-test01/
总用量 28
-rw------- 1 root root  3109 4月  25 20:45 keystore.jks
-rw------- 1 root root 17237 4月  25 20:45 nifi.properties
-rw------- 1 root root   935 4月  25 20:45 truststore.jks

分发证书:

[root@hadoop-test01 outlog]# cp CN* hadoop-test01/
[root@hadoop-test01 outlog]# cp CN* hadoop-test02/
[root@hadoop-test01 outlog]# cp CN* hadoop-test03/
[root@hadoop-test01 outlog]# cp nifi-* hadoop-test01/
[root@hadoop-test01 outlog]# cp nifi-* hadoop-test02/
[root@hadoop-test01 outlog]# cp nifi-* hadoop-test03/
[root@hadoop-test01 outlog]# scp -r hadoop-test01/* hadoop-test01:/usr/local/nifi/conf/
[root@hadoop-test01 outlog]# scp -r hadoop-test02/* hadoop-test02:/usr/local/nifi/conf/
[root@hadoop-test01 outlog]# scp -r hadoop-test03/* hadoop-test03:/usr/local/nifi/conf/

2.3.修改nifi配置

设置3台zk连接

[root@hadoop-test01 nifi]# vim conf/state-management.xml

61行
<property name="Connect String">hadoop-test01:2181,hadoop-test02:2181,hadoop-test03:2181</property>

修改3台节点的配置文件

[root@hadoop-test01 nifi]# vim conf/nifi.properties
152行
nifi.web.https.host=hadoop-test01
258行
nifi.cluster.is.node=true
nifi.cluster.node.address=hadoop-test01
278行
nifi.zookeeper.connect.string=hadoop-test01:2181,hadoop-test02:2181,hadoop-test03:2181

设置更新初始密码

[root@hadoop-test01 nifi]# ./bin/nifi.sh set-sensitive-properties-key  123456789012
[root@hadoop-test02 nifi]# ./bin/nifi.sh set-sensitive-properties-key  123456789012
[root@hadoop-test03 nifi]# ./bin/nifi.sh set-sensitive-properties-key  123456789012

[root@hadoop-test01 nifi]# ./bin/nifi.sh set-single-user-credentials admin 123456789012
[root@hadoop-test02 nifi]# ./bin/nifi.sh set-single-user-credentials admin 123456789012
[root@hadoop-test03 nifi]# ./bin/nifi.sh set-single-user-credentials admin 123456789012

启动nifi

[root@hadoop-test01 nifi]# ./bin/nifi.sh start
[root@hadoop-test02 nifi]# ./bin/nifi.sh start
[root@hadoop-test03 nifi]# ./bin/nifi.sh start

登录webUI:

集群模式的NIFI默认登录端口号为9443,协议是https,第一次登陆初始化数据需要一段时间

image-20230426093839890

image-20230426094618593

查看集群状态,也可以看到3个节点都在线

image-20230426094709220

 

至此,nifi集群就安装部署完成了

 

转载请注明:西门飞冰的博客 » nifi 集群部署1.21 版本

喜欢 (0)or分享 (0)