Apache NIFI中文文档 地址:https://nifichina.github.io/
1.简介
官网的介绍:
An easy to use, powerful, and reliable system to process and distribute data.
一个易用、功能强大、可靠的处理和分发数据的系统。
来自网络的介绍:
- 2006年由美国国家安全局(NSA)的Joe Witt创建,之后在2014年贡献给Apache社区,随后在2015 年成为Apache顶级项目之一。
- 是一个易于使用、功能强大而且可靠的流式数据处理和分发系统。
- 是为数据流设计,支持从多种数据源动态的拉取数据,并基于WEB图形界面,通过拖拽、连接、配置完成基于流程的编程,实现数据采集、处理等功能。
- 目前,NiFi 社区活跃度非常高,其中 Cloudera 是最大的贡献者,仅2020年就发布了7个版本。NiFi 作为一个致力于数据对接的集成框架在物联网IOT和大数据领域得到很多公司的青睐。
我数了一下,截止2022年10月发布的版本也已经7个了。
2.下载安装配置启动
- 最近的两个版本(下载页面):https://nifi.apache.org/download.html
- 全版本(下载页面):https://archive.apache.org/dist/nifi/
- 官方(文档):https://nifi.apache.org/docs.html
2.1 下载
本次选择最新版本
1.18.0
进行下载安装:
2.2 安装
# 解压文件unzip nifi-1.18.0-bin.zip
2.3 配置
# 配置环境变量cat<<'EOF'> /etc/profile.d/nifi.sh
export NIFI_HOME=/usr/local/nifi-1.18.0
export PATH=$PATH:${NIFI_HOME}/bin
EOFsleep1source /etc/profile.d/nifi.sh
# 修改https的host和portnifi.web.https.host=tcloud
nifi.web.https.port=58080
更多配置根据业务需求进行设置,这里暂时不进行详细的说明。
2.4 启动
# 添加到服务
nifi.sh install# 前台启动
nifi.sh run
# 后台启动
nifi.sh start
# 启动信息
Java home: /usr/local/java/jdk1.8.0_241
NiFi home: /usr/local/nifi-1.18.0
Bootstrap Config File: /usr/local/nifi-1.18.0/conf/bootstrap.conf
# 查看
jps
# 查看结果9353 NiFi
9326 RunNiFi
9375 Jps
# 查看启动日志tail-f${NIFI_HOME}/logs/nifi-app.log
首次启动时
${NIFI_HOME}/logs/nifi-app.log
日志会打印默认的登录用户和密码:
2.5 登录
登录页面:
首次登录成功:
3.问题处理
3.1 host及port配置
仅配置http时会报错:
Remote input HTTPS is enabled but nifi.web.https.port is not specified.
# 仅配置HTTP
Caused by: java.lang.RuntimeException:
Remote input HTTPS is enabled but nifi.web.https.port is not specified.
http和https都配置则报错:
Both nifi.web.https.port and nifi.web.http.port specified
# HTTP和HTTPS都进行配置
java.lang.IllegalStateException:
Invalid port configuration in nifi.properties:
Both nifi.web.https.port and nifi.web.http.port specified
在Linux服务器上https使用默认的host
127.0.0.1
web页面将无法访问。需要配置为hostname映射的ip地址:
INFO [main] org.apache.nifi.web.server.JettyServer NiFi has started. The UI is available at the following URLs:
INFO [main] org.apache.nifi.web.server.JettyServer https://tcloud:58080/nifi
3.2 Username和Password
首次启动时
${NIFI_HOME}/logs/nifi-app.log
日志会打印默认的登录用户和密码:
但是这个用户名和密码都是很长不容易记忆的,一下是官网设置密码的方法:
实践:
# 官方命令
$ ./bin/nifi.sh set-single-user-credentials <username><password># 实例[root@tcloud nifi-1.18.0]# ./bin/nifi.sh set-single-user-credentials admin admin12345678# 打印的信息
Java home: /usr/local/java/jdk1.8.0_241
NiFi home: /usr/local/nifi-1.18.0
Bootstrap Config File: /usr/local/nifi-1.18.0/conf/bootstrap.conf
Login Identity Providers Processed [/usr/local/nifi-1.18.0/./conf/login-identity-providers.xml]
可以看到
login-identity-providers.xml
内的用户名已经修改,密码是加密后的。
特别注意:密码修改后重启服务才能生效。
# 由于配置过环境变量 我们可以在任意路径使用 NiFi 的命令
nifi.sh restart
4.总结
部署简单,官网说明详细,至此部署成功。
编辑列表:
- 20221123 添加中文文档链接。
版权归原作者 シ風箏 所有, 如有侵权,请联系我们删除。