NiFi介绍
Apache NiFi是由美国过国家安全局(NSA)贡献给Apache基金会的开源项目,其设计目标是自动化系统间的数据流。
参考文档
包文件 | 版本 | 下载地址 |
---|---|---|
nifi-1.9.2-bin.tar.gz | 1.9.2 | Apache NiFi |
jdk-8u231-linux-x64.tar.gz | 1.8.231 | Oracle JDK |
端口说明
NiFi
NiFi默认端口及conf/nifi.properties
文件中相应属性
功能 | 属性 | 默认值 |
---|---|---|
HTTP端口 | nifi.web.http.port | 8080 |
HTTPS端口* | nifi.web.https.port | 9443 |
远程输入套接字端口* | nifi.remote.input.socket.port | 10443 |
集群节点协议端口* | nifi.cluster.node.protocol.port | 11443 |
集群节点负载均衡端口 | nifi.cluster.node.load.balance.port | 6342 |
Web HTTP转发端口 | nifi.web.http.port.forwarding |
标有星号(*)的端口的属性值在conf/nifi.properties
中默认为空白
嵌入式Zookeeper
功能 | 属性 | 默认值 |
---|---|---|
Zookeeper客户端端口 | clientPort | 2181 |
Zookeeper服务器仲裁和Leader选举端口 | server.1 |
NiFi自带嵌入式Zookeeper配置文件路径为conf/zookeeper.properties
配置项为:server.N=nifi-nodeN-hostname:2888:3888;2181
部署NiFi
下载NiFi包
创建存放NiFi相关部署包文件路径
- 部署包存放
# mkdir -p /tmp/nifi_install
- 部署路径
# mkdir -p /opt/nifi
下载(上传)JDK与NiFi至Linux服务器/tmp/nifi_install
# ls -lh /tmp/nifi_install/
total 1.5G
-rwxr-xr-x. 1 root root 186M Nov 11 22:14 jdk-8u231-linux-x64.tar.gz
-rwxr-xr-x. 1 root root 1.3G Nov 11 22:16 nifi-1.9.2-bin.tar.gz
解压并设置JAVA_HOME
解压NiFi与JDK
# tar -zxvf /tmp/nifi_install/*.tar.gz -C /opt/nifi/
在bin/nifi-env.sh
中设置JAVA_HOME
# sed -i "21iexport JAVA_HOME=/opt/nifi/jdk1.8.0_231/" /opt/nifi/nifi-1.9.2/bin/nifi-env.sh
修改HTTP端口
编辑配置文件
# vim /data/nifi/nifi-1.9.2/conf/nifi.properties
找下如下内容
...
# web properties #
nifi.web.war.directory=./lib
nifi.web.http.host=
# 修改http端口,默认端口为8080
nifi.web.http.port=18080
nifi.web.http.network.interface.default=
nifi.web.https.host=
nifi.web.https.port=
nifi.web.https.network.interface.default=
nifi.web.jetty.working.directory=./work/jetty
nifi.web.jetty.threads=200
nifi.web.max.header.size=16 KB
nifi.web.proxy.context.path=
nifi.web.proxy.host=
...
配置运行内存
# vim /data/nifi/nifi-1.9.2/conf/bootstrap.conf
修改内容如下
...
# JVM memory settings
# 初始堆大小
java.arg.2=-Xms2048m
# 最大堆大小
java.arg.3=-Xmx4096m
...
可根据服务器性能合理设置nifi内存
添加到服务并启动
update-rc.d
# ln -s /opt/nifi/nifi-1.9.2/bin/nifi.sh /etc/init.d/nifi
# service nifi start
systemd
创建服务脚本
# cat > /etc/systemd/system/nifi.service << EOF
> [Unit]
> Description=nifi service
> After=network.target
>
> [Service]
> Type=forking
> LimitNOFILE=65536
> ExecStart=/opt/nifi/nifi-1.9.2/bin/nifi.sh start
> ExecStop=/opt/nifi/nifi-1.9.2/bin/nifi.sh stop
> User=root
> Restart=on-abort
>
> [Install]
> WantedBy=multi-user.target
> EOF
启动服务
# systemctl daemon-reload
# systemctl start nifi
访问
至此单节点NiFi部署完成,可以在浏览器中访问http://ip:18080/nifi/
即进入Web界面