1.下载nifi
2.单机部署
解压zip,unzip nifi.zip
移动到/opt
打开nifi/conf/nifi.properties文件,修改host为ubuntu的ip地址或host
打开/etc/hosts文件设置host
# nifi注重安全,需要设置密码才能启动,密码最少12位
bin/nifi.sh set-single-user-credentials admin 123456789012
启动:bin/nifi.sh start
jps,可以看到说明RunNifi,Nifi则启动成功
关闭:bin/nifi.sh stop
3.集群部署
nifi实现分布式需要使用nifi-toolkit生成验证证书,所以需要上传解压对于的文件
需要部署集群的机器修改/etc/selinux/config,禁用selinux,并重启服务器
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
因为单机部署时生成这些文件,所以要删除nifi,重新解压
分发nifi:xsync nifi,参考文章:rsync命令以及xsync封装,也可以自己手动解压
生成证书:解压nifi-toolkit.zip,只需要在一台服务器上操作就行
bin/tls-toolkit.sh standalone \
-C 'CN=username, OU=NIFI' \
-n 'hadoop1,hadoop2' \
-K 123456789012 \
-S 123456789012 \
-P 123456789012 \
-o 'output'
参数解析:
-C 生成适合在指定 DN 的浏览器中使用的客户端证书 里面的都是一些标记配置
-n 设置节点地址
--keyPassword(-K) 设置需要使用的密码
--keyStorePassword(-S)设置要使用的密钥库密码
--trustStorePassword (-P)设置要使用的密钥库密码
-o 设置一个输出目录
把CN*,nifi-*文件分别放到hadoop1,hadoop2文件夹里
cp CN* hadoop1
cp CN* hadoop2
cp nifi-* hadoop2
cp nifi-* hadoop2
把hadoop1,hadoop2文件夹里的文件分别复制到不同服务器的nifi/conf文件夹里
cp hadoop1/* /opt/nifi-1.19.1/conf/
远程复制到另一台服务器的nifi/conf文件夹里
scp hadoop2/* hadoop2:/opt/nifi-1.19.1/conf/
修改state-management.xml
分别修改nifi.properties
启动zookeeper集群 :Linux部署zookeeper教程
分别启动nifi
bin/nifi.sh set-sensitive-properties-key 123456789012
bin/nifi.sh set-single-user-credentials admin 123456789012
bin/nifi.sh start
jps出现以下问题时
sudo update-alternatives --install /usr/bin/java java /usr/local/jdk1.8.0_202/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/local/jdk1.8.0_202/bin/javac 300
sudo update-alternatives --install /usr/bin/jps jps /usr/local/jdk1.8.0_202/bin/jps 300
/usr/local/jdk1.8.0_202为自己安装java的路径和版本号