Centos7环境下nifi单机部署

Centos7环境下nifi单机部署

前言

本以为在服务器上部署nifi很简单,跟着教程走就好,但是并没有成功,可能是因为版本的问题,也可能有其他原因,导致我一直没有部署成功,后面想着先在本地windows上部署,先学着再说,在看完windows部署教程后,发现了之前教程中没有提到的一点,就是在nifi.properties配置中https和http只能保留一组,于是我再去centos7下部署nifi就成功了,好了,接下来我将具体介绍nifi的部署过程。

一、安装Nifi

1.1 下载并解压

下载所需版本的Nifi,这里我下载版本为nifi-1.19.1-bin.zip

下载地址:https://archive.apache.org/dist/nifi/1.9.1/nifi-1.19.1-bin.zip

如果觉得官网慢,可以在我的百度网盘中下载,里面还有其他相关文件

网盘链接:https://pan.baidu.com/s/1WoeCQ_bLh5hrRv9t0hAUDw?pwd=2xwq

下载好后解压到相应目录下

bash 复制代码
cp nifi-1.19.1-bin.zip /opt/module/
cd /opt/module/
unzip nifi-1.19.1-bin.zip

1.2 修改配置文件

修改conf目录下的nifi.properties文件

bash 复制代码
cd nifi-1.19.1/
vim conf/nifi.properties

修改nifi端口和host地址,查找 nifi.web.http.port 和 nifi.web.http.host,(这里的nifi.web.http.port,nifi.web.http.host,nifi.web.http.network.interface.default与 nifi.web.https.host,nifi.web.https.port,nifi.web.https.network.interface.default 只能共存一组,区别就是请求的时候一个是http请求,一个是https的请求),我之前一直没有成功就是因为这里都放开了,现在我将把https给注释,配置http,nifi.remote.input.http.enabled为false,具体配置参数如下:

bash 复制代码
# Site to Site properties
nifi.remote.input.host=
nifi.remote.input.secure=true
nifi.remote.input.socket.port=
# nifi.remote.input.http.enabled=true
nifi.remote.input.http.enabled=false
nifi.remote.input.http.transaction.ttl=30 sec
nifi.remote.contents.cache.expiration=30 secs

# web properties #
#############################################

# For security, NiFi will present the UI on 127.0.0.1 and only be accessible through this loopback interface.
# Be aware that changing these properties may affect how your instance can be accessed without any restriction.
# We recommend configuring HTTPS instead. The administrators guide provides instructions on how to do this.

# chen 是我服务器的 hostname
nifi.web.http.host=
nifi.web.http.port=8443
nifi.web.http.network.interface.default=

#############################################

# nifi.web.https.host=
# nifi.web.https.port=8443
# nifi.web.https.network.interface.default=
nifi.web.https.application.protocols=http/1.1
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=
nifi.web.max.content.size=
nifi.web.max.requests.per.second=30000
nifi.web.max.access.token.requests.per.second=25
nifi.web.request.timeout=60 secs
nifi.web.request.ip.whitelist=
nifi.web.should.send.server.version=true
nifi.web.request.log.format=%{client}a - %u %t "%r" %s %O "%{Referer}i" "%{User-Agent}i"

nifi.web.http.host可以不写,也可以配置成0.0.0.0,我这里就不配置了

二、启动Nifi程序

在前面保持配置文件后就可以启动Nifi程序进行测试了

bash 复制代码
./bin/nifi.sh start

如下便是启动成功,一般过个一两分钟就可以访问nifi的web网页了,即 ip:端口号

可以使用 netstat -tuln | grep 8443 命令查看端口使用情况

Nifi Web界面如下(如何nifi启动了还是访问不通记得看看服务器8443端口号是否开放):

三、Nifi的简单使用

3.1 文件移动

新建一个组,命名好后 双击 该组进入

选择Processor处理器,选择getFile处理器,即获取某路径下的文件

再次点击Processor处理器,选择putFile处理器,即文件存放路径

右键configure

配置待传输文件的所在路径

然后配置存放文件的路径,APPLY

将两个处理器链接起来,APPLY

这里可以看到PutFile有警告,说明还没配置好

配置一下该处理器失败或结束后停止还是继续

现在两个处理器都配置好了,先执行getFile处理器

我现在在服务器端向 /root/nifi/input 里面写入两个文件,可以看到 Queue 中已经有两个文件

右击 Queue ,点击 List Queue 便可查看Queue中存放的文件信息,点击 小眼睛 可以查看文件内容

右键GetFile,停掉,开始执行PutFile

在 /root/nifi/output 中可以查看到文件

3.2 本地文件传到HDFS

PutHDFS主要配置 hdfs配置文件 和 存储文件的路径

bash 复制代码
# hdfs配置文件 有多个文件用 , 分隔
Hadoop Configuration Resources
bash 复制代码
/opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml,/opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml

在服务器 /root/nifi/input 下写入文件

StopGetFile,放开PutHDFS,即可往HDFS中写入文件

在HDFS中可查看到需要传输的文件

NIFI除了以上这些,还可以联通Mysql、Kafka进行文件传输,对文件内容进行格式转换等。

参考博客

相关推荐
希忘auto2 小时前
详解Redis在Centos上的安装
redis·centos
沐千熏10 小时前
Liunx(CentOS-6-x86_64)系统安装MySql(5.6.50)
linux·mysql·centos
桃林春风一杯酒10 小时前
HADOOP_HOME and hadoop.home.dir are unset.
大数据·hadoop·分布式
B站计算机毕业设计超人15 小时前
计算机毕业设计Hadoop+Spark+DeepSeek-R1大模型民宿推荐系统 hive民宿可视化 民宿爬虫 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·hadoop·爬虫·机器学习·课程设计·数据可视化·推荐算法
袁庭新15 小时前
CentOS7通过yum无法安装软件问题解决方案
centos·操作系统
知初~1 天前
出行项目案例
hive·hadoop·redis·sql·mysql·spark·database
m0_748235951 天前
Python大数据可视化:基于Python的王者荣耀战队的数据分析系统设计与实现_flask+hadoop+spider
hadoop·python·flask
千墨2 天前
VMware安装Centos 9虚拟机+设置共享文件夹+远程登录
linux·运维·centos
B站计算机毕业设计超人2 天前
计算机毕业设计hadoop+spark旅游景点推荐 旅游推荐系统 旅游可视化 旅游爬虫 景区客流量预测 旅游大数据 大数据毕业设计
大数据·hadoop·爬虫·深度学习·机器学习·数据可视化·推荐算法
我要用代码向我喜欢的女孩表白2 天前
hive迁移补数脚本细粒度 表名-分区唯一键
数据仓库·hive·hadoop