Apache Nifi安装与尝试
Apache NIFI中文文档 地址:https://nifichina.github.io/
下载安装配置
1、环境准备
Nifi的运行需要依赖于java环境,所以本机上需要安装java环境,并配置环境变量。
1.1查看本机是否已经存在java环境
请先执行以下命令找出系统中真实可用的 Java 安装路径:
readlink -f $(which java)
如果返回是
没有其他的返回值, 说明你的 Java 是 运行时环境 (JRE),而不是开发环境 (JDK)。虽然 NiFi 有时可以用 JRE 启动,但推荐你配置成完整的 JDK,并指向正确的根目录(而不是
jre/
子目录)。
1.2 安装完整的jdk
sudo yum install java-1.8.0-openjdk-devel -y
然后执行
readlink -f $(which java)
现在应该会看到 bin/java
不再在 jre/bin/
下,而是类似:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b09-1.el8.x86_64/bin/java
此时设置环境变量:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b09-1.el8.x86_64
export PATH=$JAVA_HOME/bin:$PATH
上面环境变量只是临时生效,如果要永久设置需要执行如下操作
编辑 ~/.bashrc
或 /etc/profile
(系统全局):
sudo vi /etc/profile
然后添加这几行:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
保存后执行:
source /etc/profile
这样基础环境就搭建好了
2、下载
- 最近的两个版本(下载页面):https://nifi.apache.org/download.html
- 全版本(下载页面):https://archive.apache.org/dist/nifi/
- 官方(文档):https://nifi.apache.org/docs.html
也可以选择国内的镜像服务器下载,我使用的是阿里云的镜像,下载的是1.28.1版本
linux下载命令
wget https://mirrors.aliyun.com/apache/nifi/1.28.1/nifi-1.28.1-bin.zip
解压
unzip nifi-1.28.1-bin.zip
查看解压后有哪些文件夹:
实际上需要重点关注的有以下几个目录:bin、conf、lib、logs
bin:存放启动相关的文件目录
conf:存放配置类文件目录
lib:存放驱动相关文件的目录,后期如果连接mysql、oracle可以将相关的驱动下载后放到该目录下
logs:存放日志类文件目录,如果运行过程中有问题,可以查看打印的日志
3、更改配置文件
修改conf目录下的nifi.properties
vi nifi.properties
修改nifi.web.https.host和port,host默认是127.0.0.1,port默认是8443
4、启动
首先切换到bin目录下,然后执行命令
./nifi.sh start
通过以下命令查看启动状态
./nifi.sh status
注意:如果要使用除本机外,其他客户端的访问,需要防火墙开放nifi端口:
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
5、浏览器访问nifi
输入访问地址:
https://实际IP:8443/nifi/
会弹出登录界面:
首次登录的用户名和密码,在首次打印的log(在logs目录下)中可以找到:
如:
查看该log文件:往下找:
用上面的用户名和密码可以登录,登录成功
用户名和密码可以修改,我们看到原用户名和密码都是很长的,难以记忆,可以修改为我们自己的账号和密码。
修改方式:
官方给出的修改方式:
实践:注意要求密码至少是12位
# 官方命令
$ ./bin/nifi.sh set-single-user-credentials <username> <password># 实例
[root@database-oracle nifi-1.28.1]# ./bin/nifi.sh set-single-user-credentials admin admin12345678
nifi.sh: JAVA_HOME not set; results may varyJava home:
NiFi home: /home/backup/jiance-data/nifi/nifi-1.28.1Bootstrap Config File: /home/backup/jiance-data/nifi/nifi-1.28.1/conf/bootstrap.confLogin Identity Providers Processed [/home/backup/jiance-data/nifi/nifi-1.28.1/./conf/login-identity-providers.xml]
可以看到login-identity-providers.xml
内的用户名已经修改,密码是加密后的:
特别注意:密码修改后重启服务才能生效:
# 由于配置过环境变量 我们可以在任意路径使用 NiFi 的命令
nifi.sh restart