当前位置: 首页 > news >正文

Centos7环境下nifi单机部署

Centos7环境下nifi单机部署

  • 前言
  • 一、安装Nifi
    • 1.1 下载并解压
    • 1.2 修改配置文件
  • 二、启动Nifi程序
  • 三、Nifi的简单使用
    • 3.1 文件移动
    • 3.2 本地文件传到HDFS
  • 参考博客

前言

本以为在服务器上部署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
在这里插入图片描述
下载好后解压到相应目录下

cp nifi-1.19.1-bin.zip /opt/module/
cd /opt/module/
unzip nifi-1.19.1-bin.zip

在这里插入图片描述

1.2 修改配置文件

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

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,具体配置参数如下:

# 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程序进行测试了

./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配置文件 和 存储文件的路径

# hdfs配置文件 有多个文件用 , 分隔
Hadoop Configuration Resources
/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进行文件传输,对文件内容进行格式转换等。

参考博客

  • nifi下载windows版本安装启动成功
  • NiFi集群搭建及必要的相关配置
  • Apache Nifi 安装及MySQL使用(windows版本)
  • NiFi【部署 01】NiFi最新版本1.18.0下载安装配置启动及问题处理(一篇学会部署NiFi)
  • 尚硅谷大数据NiFi教程(从部署到开发)
http://www.lryc.cn/news/500462.html

相关文章:

  • 如何通过轻易云实现金蝶云星空与旺店通数据集成
  • OSG开发笔记(三十七):OSG基于windows平台msvc2017x64编译器官方稳定版本OSG3.4.1搭建环境并移植Demo
  • 2024最新小猫咪PHP加密系统源码V1.4_本地API接口_带后台
  • K8S OOM killer机制
  • 什么是绩效文化?
  • 【人工智能-CV领域】对抗生成网络(GAN)与扩散模型全面解析与深度融合:实现AI生成能力的新突破
  • IT系统运维监控指标体系-持续完善中
  • RPC设计--TcpAcceptor
  • 《Python数据分析:活用pandas库》学习笔记Day1:Panda DataFrame基础知识
  • 【Go 基础】并发相关
  • 数据质量规则(Data Quality Rules)
  • stm32延时
  • 工作随笔2024,12.9
  • 【PGCCC】 pg_query 6.0:使用 Postgres 自己的解析器解析、反解析和规范化 SQL 查询的 Ruby 库
  • 18.Vue 3 + OpenLayers:实现添加全屏显示功能示例
  • 04_掌握Python基础语句
  • iOS如何自定义一个类似UITextView的本文编辑View
  • 【时时三省】(NIT计算机考试)Word的使用方法
  • openjdk17 jvm加载class文件,解析字段和方法,C++源码展示
  • 驱动断链的研究
  • 在 Windows WSL 上部署 Ollama 和大语言模型:从镜像冗余问题看 Docker 最佳实践20241208
  • 做题时HashSet、TreeSet、LinkedHashSet的选择
  • Manus手套动作捕捉AI训练灵巧手
  • 嵌入式驱动开发详解4(内核定时器)
  • Linux:信号的预备和产生
  • 国城杯2024——Curve
  • AI生成不了复杂前端页面?也许有解决方案了
  • 常见矩阵分析法(BCG、GE、IE、SPACE、TOWS、优先、战略优先级、安索夫、风险矩阵):如何通过系统化方法助力战略决策与数据驱动决策
  • JWT 在 SaaS 系统中的作用与分布式 SaaS 系统设计的最佳实践
  • 基于C#和Sql Server的网上书店管理系统