首页 > 系统相关 >NIFI系列---【Linux离线安装nifi集群+内嵌zookeeper】

NIFI系列---【Linux离线安装nifi集群+内嵌zookeeper】

时间:2024-08-14 10:49:07浏览次数:17  
标签:NIFI nifi node01 zookeeper 离线 1.19 conf security

1.环境准备

准备三台4c8g的centos7服务器,分别安装jdk8,zookeeper-3.5.7(zookeeper-3.4.7版本不行,官网要求不低于3.5.5),如果不用root安装,就直接切换到对应用户(例:afp)。

  • node01
  • node02
  • node03

2.下载nifi安装包和nifi-toolkit-1.19.1-bin.zip安装包(本教程已验证过1.19.1和1.27.0版本)

下载地址:https://archive.apache.org/dist/nifi/1.19.1/

3.把下载好的安装包分别上传到三台服务器

上传到/opt/app/middles目录下,nifi-toolkit-1.19.1-bin.zip安装包只放到node01节点即可

#在三台服务器上分别执行
unzip nifi-1.19.1-bin.zip

#在node01上解压tookit
unzip nifi-toolkit-1.19.1-bin.zip

4.禁用selinux

#在三台服务器上都执行
vim /etc/selinux/config

######把下面的值改成disabled
SELINUX=disabled

#重启三台服务器
reboot

5.使用nifi-toolkit生成证书

登录node01节点,执行的命令参数含义具体参考官网文档:https://nifi.apache.org/docs.html

cd /opt/app/middles/nifi-toolkit-1.19.1
#这里注意用hostname,不要用ip
bin/tls-toolkit.sh standalone -C 'CN=username,OU=NIFI' -n 'node01,node02,node03' -K 123456789012 -S 123456789012 -P 123456789012 -o 'output'

参数解析:

  • standalone: 表示在一个节点生成证书,可以生成多个节点的,这里在node01生成这三个节点的证书。
  • -n:设置节点地址,多个用逗号隔开。
  • -K (--keyPassword): 设置需要使用的密码。
  • -S (--keyStorePassword): 设置需要使用的密钥库密码。
  • -P (--trustStorePassword): 设置要使用的密钥库密码。
  • -o: 设置一个输出目录
cd output
cp CN* node01
cp CN* node02
cp CN* node03

cp nifi-* node01
cp nifi-* node02
cp nifi-* node03

6.把生成好的证书分发到三个节点的nifi-1.19.1/conf目录下

scp -r node01/* node01:/opt/app/middles/nifi-1.19.1/conf
scp -r node02/* node02:/opt/app/middles/nifi-1.19.1/conf
scp -r node03/* node03:/opt/app/middles/nifi-1.19.1/conf

7.修改三台nifi-1.19.1/conf下的连接内嵌zookeeper的配置

vi /opt/app/middles/nifi-1.19.1/conf/state-management.xml

#########把下面的zookeeper地址写上,修改这个:<property name="Connect String">node01:2181,node02:2181,node03:2181</property>
<cluster-provider>
    <id>zk-provider</id>
    <class>org.apache.nifi.controller.state.providers.zookeeper.ZooKeeperStateProvider</class>
    <property name="Connect String">node01:2181,node02:2181,node03:2181</property>
    <property name="Root Node">/nifi</property>
    <property name="Session Timeout">10 seconds</property>
    <property name="Access Control">Open</property>
</cluster-provider>

vi /opt/app/middles/nifi-1.27.0/conf/zookeeper.properties
#注意把最后一行的"server.1="注释掉
server.1=node01:2888:3888;2181
server.2=node02:2888:3888;2181
server.3=node03:2888:3888;2181

8.修改nifi.properties

vi /opt/app/middles/nifi-1.19.1/conf/nifi.properties

把下面nifi.properties的值在三个节点分别修改一下

#开启内嵌zookeeper
nifi.state.management.embedded.zookeeper.start=true
nifi.state.management.embedded.zookeeper.properties=./conf/zookeeper.properties
nifi.zookeeper.connect.string=node01:2181,node02:2181,node03:2181

#开启security properties配置
nifi.sensitive.props.key=woshimima
nifi.sensitive.props.key.protected=
nifi.sensitive.props.algorithm=NIFI_PBKDF2AES_GCM_256
nifi.sensitive.props.additional.keys=

nifi.security.autoreload.enabled=false
nifi.security.autoreload.interval=10 secs
nifi.security.keystore=./conf/keystore.jks
nifi.security.keystoreType=jks
nifi.security.keystorePasswd=123456789012
nifi.security.keyPasswd=123456789012
nifi.security.truststore=./conf/truststore.jks
nifi.security.truststoreType=jks
nifi.security.truststorePasswd=123456789012
nifi.security.user.authorizer=single-user-authorizer
nifi.security.allow.anonymous.authentication=false
nifi.security.user.login.identity.provider=single-user-provider
nifi.secutiry.user.jws.key.rotation.period=PT1H
nifi.security.ocsp.responder.url
nifi.security.ocsp.responder.certificate=

9.如果不用root用户登录,记得修改bootstrap.conf

run.as=afp

10.在三个节点分别设置web初始登录密码

因为nifi是无中心服务,所以三个节点都要设置,如果设置完启动了之后,想修改admin的密码,可以再执行一下下面的命令,重启一下即可。

#给bin目录下的sh脚本赋予执行权限
cd bin
chmod 775 *
#三个节点都执行:统一密码
bin/nifi.sh set-sensitive-properties-key 123456789012
#三个节点都执行:创建用户名密码
bin/nifi.sh set-single-user-credentials admin 123456789012

11.启动nifi

#三个节点都执行
bin/nifi.sh start

12.浏览器登录web页面

web访问地址:https://node01:9443/nifi,初始化比较慢,请耐心等候

标签:NIFI,nifi,node01,zookeeper,离线,1.19,conf,security
From: https://www.cnblogs.com/hujunwei/p/18358431

相关文章

  • 微软NET FrameWork离线运行库+离线安装包合集,一键安装版 微软.NET离线运行库合集2024
     微软.NET离线运行库合集2024最新版是一款专为便捷、高效地管理.NET运行库而设计的工具。这款软件集成了各种版本的.NET运行库,并提供了离线安装的功能,使用户能够在没有网络连接的情况下轻松地安装所需的运行库。该软件的出现极大地简化了.NET开发环境的配置和维护过程。用户可......
  • VS Code Server的离线安装过程
    1.服务器上vscode-server安装取决于你本地使用的vscode版本,版本用commit_id来区别。首先打开vscode,点击帮助-关于(Help->about可以查看),如下这个commitid也就是你本地Vscode版本的commitid:2.vscode-server的下载链接如下:https://update.code.visualstud......
  • stable diffusion webui docker 离线部署
    AI绘图工具StableDiffusionStableDiffusion是一种基于扩散技术的深度学习文本到图像模型,于2022年发布,该项目由StabilityAI、CompVis、Runway合作开发,它主要用于文生图,但也可以应用于其他任务,如Inpainting(补画、Outpainting(扩画)、图生图等。Inpainting称......
  • 如何用sql在1分钟从1T数据中精准定位查询?Hive离线数仓 Spark分析
    最近在一个群里,从群友哪里了解到这样一个业务需求:如何在hdfs  1T源数据库中,1分钟内从其中抓取自己想要的数据?我的理解是:在hdfs数据库中为拥有 尽1T数据的表创建索引,并对其进行性能优化,以实现1分钟精准查询数据的目的  想要实现其实有点繁杂,可以使用多种工具和技......
  • 离线数仓之Hive的基础操作
    Hive简介hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是......
  • 离线win/mac下vscode客户端通过ssh连接linux服务器
    1、下载vscode,这个网上教程一大堆就不一一介绍了,自行百度建议安装蓝色的版本,最后图标是蓝色的。下载网址:VisualStudioCode-CodeEditing.Redefined2、win系统或mac系统安装openssh,这个也一大堆教程,可以自行百度3、安装vscode插件下载网址:ExtensionsforVisual......
  • P10814 【模板】离线二维数点
    原题链接题解对于一段区间\([l,r]\)我们可以在\(r\)的位置查询一次,然后利用差分的思想跑到l-1再查一次虽然这样不行,但是可以先在\(l-1\)的位置查询一次,然后再在\(r\)的位置查询一次,然后顺序遍历,每次遍历就把对应位置上的数激活,可以用树状数组code#include<bits/stdc+......
  • 苹果离线打包机配置和打包
    1、虚拟机安装macOS虚拟机安装全过程(VMware)-腾讯云开发者社区-腾讯云给windows虚拟机装个mac·雪之梦1、安装苹果镜像去网上下载,打包机的镜像要和自己mac电脑上的保持一致。同时打包机的用户名也需要和自己的mac保持一致。2、安装xcode https://www.cnblogs.com......
  • keepalive离线安装-解决openssl-devel安装问题
    keepalive源码安装1.下载源码包(这里我是用最新的2.3.1版本):官网2.解压安装包执行:#prefix后边的路径为keepalived安装的路径$./configure--prefix=/usr/local/keepalived$make$makeinstall3.安装openssl-devel如果遇到错误:(没有错误则不用管这一步)configure......
  • Linux杀毒软件clamav1.3.1离线安装及杀毒
    Linux杀毒软件clamav1.3.1离线安装及杀毒wgethttps://www.clamav.net/downloads/production/clamav-1.3.1.linux.x86_64.rpmrpm-ivh--prefix=/usr/local/clamavclamav-1.3.1.linux.x86_64.rpmgroupaddclamavuseradd-gclamavclamavmkdir-p/usr/local/clamav/logsmkdir-......