记一次 基于 Hadoop 3.3.0 集群 安装、部署 Nifi 1.12.1

一、基本信息

官网 https://nifi.apache.org/
下载地址 https://www.apache.org/dyn/closer.lua?path=/nifi/1.12.1/nifi-1.12.1-bin.tar.gz
下载链接
https://mirror.bit.edu.cn/apache/nifi/1.12.1/nifi-1.12.1-bin.tar.gz
https://mirrors.bfsu.edu.cn/apache/nifi/1.12.1/nifi-1.12.1-bin.tar.gz
https://mirrors.tuna.tsinghua.edu.cn/apache/nifi/1.12.1/nifi-1.12.1-bin.tar.gz

二、核心概念整理

https://www.cnblogs.com/ronnieyuan/p/11935871.html

NiFi——Apache NiFi是由美国国家安全局(NSA)贡献给Apache基金会的开源项目,其设计目标是自动化系统间的数据流。基于其工作流式的编程理念,NiFi非常易于使用、强大、可靠、高可配置。两个最重要的特性是其强大的用户界面和良好的数据回溯工具。堪称大数据工具箱里的瑞士军刀。NiFi的主要用途是对数据进行处理,可汇总、分流、过滤、筛选、组合…等等

简单地说,NiFi是为了自动化系统之间的数据流而构建的。虽然术语“数据流”在各种环境中使用,但我们在此处使用它来表示系统之间自动化和管理的信息流。这个问题空间一直存在,因为企业有多个系统,其中一些系统创建数据,一些系统消耗数据。已经讨论并广泛阐述了出现的问题和解决方案模式。企业集成模式 中提供了一个全面且易于使用的表单。
NiFi的诞生,要致力于解决的问题:

(1)因为网络故障、磁盘故障、软件崩溃、人们犯错导致的系统错误。
(2)数据读写超出了自身系统的处理能力。
(3)获取的数据不具有规范性。
(4)数据结构的优先级变化很快,启用新流和更改现有流的速度必须非常快。
(5)数据结构化管理的可移植性与不同数据格式之间的依赖性。

nifi内部功能强大,它的一个优点就是大大减少了编程量!它有很多内置的处理模块,只需用户修改条件或变量便可实现其功能,此外还有一些模块可执行程序代码来进行更灵活的自定义的操作。
nifi中最常用到的就是正则表达式,偶尔会用到一些代码(java),其次就是数据源的格式(xml、csv、txt、pdf等)
所以nifi对有一定编程基础的人来说还是很好上手的,只需要多看看文档上对各个模块的释义以及一些函数规则,了解各个模块的功能即可顺畅使用。
nifi对于没有编程基础的人的门槛设置也不是很高,逻辑思维需要通过多个case来练习,训练对nifi的熟悉度,体会其中的逻辑。此外还要学习正则表达式的语法。

三、基础环境

1、安装OpenJDK1.8 并查看安装位置
https://blog.csdn.net/llwy1428/article/details/111144659
2、Centos7.x 安装部署 Hadoop 3.x HDFS基础环境(非高可用集群)
https://blog.csdn.net/llwy1428/article/details/111144524
3.NiFi 1.12.1
4.使用root用户操作
5.集群未启用Kerberos

四、安装、部署

1、创建目录,以供 Nifi 监听服务器内部文件

[root@slave3 ~]# mkdir -p /opt/data/nifi

2、创建实例文件

[root@slave3 ~]# touch /opt/data/nifi1.txt
[root@slave3 ~]# touch /opt/data/nifi2.txt
[root@slave3 ~]# touch /opt/data/nifi3.txt

3、向实例文件写入内容

[root@slave3 ~]# echo 'Hello Nifi 1 !' >> /opt/data/nifi1.txt 
[root@slave3 ~]# echo 'Hello Nifi 2 !' >> /opt/data/nifi2.txt 
[root@slave3 ~]# echo 'Hello Nifi 3 !' >> /opt/data/nifi3.txt 

4、查看每个实例文件

[root@slave3 ~]# cat /opt/data/nifi1.txt 
Hello Nifi 1 !
[root@slave3 ~]# cat /opt/data/nifi2.txt 
Hello Nifi 2 !
[root@slave3 ~]# cat /opt/data/nifi3.txt 
Hello Nifi 3 !

5、启动 HDFS 服务

[root@master ~]# /usr/bigdata/hadoop-3.3.0/sbin/start-dfs.sh

6、在 HDFS 上创建 nifi 存放文件的目录

[root@slave3 ~]# hdfs dfs -mkdir /user/nifi

7、给创建的目录赋权

[root@slave3 ~]# hdfs dfs -chmod 777 /user/nifi

8、下载 nifi 的安装包

[root@slave3 ~]# wget -P /usr/bigdata/ https://mirror.bit.edu.cn/apache/nifi/1.12.1/nifi-1.12.1-bin.tar.gz

在这里插入图片描述
9、进入已下载安装包的目录

[root@slave3 ~]# cd /usr/bigdata/

10、解压安装文件

[root@slave3 bigdata]# tar zxf nifi-1.12.1-bin.tar.gz

11、进入 nifi 目录查看文件目录

[root@slave3 bigdata]# cd nifi-1.12.1

在这里插入图片描述
12、进入 nifi 的配置文件目录

[root@slave3 nifi-1.12.1]# cd conf/

13、查看文件列表

[root@slave3 conf]# ll

在这里插入图片描述
14、编辑 nifi 的配置文件 nifi.properties (我更改了 nifi 的 web 端口,因为其默认端口是 8080 ,我有一些其他服务已使用了 8080)
此处我把 web 的端口改成了 8181
并配置所有 IP 均可访问

[root@slave3 conf]# vim nifi.properties

编辑内容

#nifi.web.http.host=
#nifi.web.http.port=8080
nifi.web.http.host=0.0.0.0
nifi.web.http.port=8181

如下图:
在这里插入图片描述
15、启动 nifi 服务

[root@slave3 ~]# /usr/bigdata/nifi-1.12.1/bin/nifi.sh start

在这里插入图片描述
16、查看 nifi 的web 服务启动后所占用的端口情况

[root@slave3 ~]# netstat -lntp
tcp        0      0 0.0.0.0:8181            0.0.0.0:*               LISTEN      2041/java

17、停止 nifi 服务

[root@slave3 ~]# /usr/bigdata/nifi-1.12.1/bin/nifi.sh stop

在这里插入图片描述

五、浏览器查看、配置

1、在浏览器地址栏录入 http://192.168.11.24:8181/ ( 192.168.11.24 是我安装部署 nifi 所用服务的 IP )
首页
在这里插入图片描述
2、拖入一个处理器到画布中
搜索、选择 GetFile 处理器
在这里插入图片描述
3、双击 GetFile 窗口,进行编辑
在这里插入图片描述
4、编辑 GetFile 处理器的属性,将 “Input Directory” 属性值改为前面创建的服务器数据目录的绝对路径 /opt/data/nifi ,点击“APPLY”保存。
在这里插入图片描述
在这里插入图片描述
5、再拖入一个处理器到画布中,搜索、选择 PutHDFS 处理器,点击 “ADD”。
在这里插入图片描述
6、双击 PutHDFS 窗口,进行编辑
在这里插入图片描述
7、在指定位置填写 hadoop 的配置文件 core-site.xml 的绝对路径及文件名,如下图
在这里插入图片描述
8、在 Directory 处填写 在 HDFS 中创建的用来存放文件的地址 /user/nifi
在这里插入图片描述
9、连接 GetFile 处理器到 PutHDFS 处理器
在这里插入图片描述
在这里插入图片描述
10、勾选PutHDFS处理器中 Automatically Terminate Relationships 下的 success 和 failure 两项配置,点击“APPLY”保存。
在这里插入图片描述
11、左键单击选中 GetFile 处理器,按住 shift 再次选中 PutHDFS 处理器,点击 “Start” 。
在这里插入图片描述

六、文件操作、HDFS 查看

1、先确保服务器物理地址和 HDFS 中没有文件
服务器物理地址

[root@slave3 ~]# hdfs dfs -ls /user/nifi

HDFS 中

[root@slave3 ~]# ll /opt/data/nifi
总用量 0

2、把上文创建好的实例文件移到到监听目录 /opt/data/nifi 下

[root@slave3 ~]# mv /opt/data/nifi1.txt /opt/data/nifi
[root@slave3 ~]# mv /opt/data/nifi2.txt /opt/data/nifi
[root@slave3 ~]# mv /opt/data/nifi3.txt /opt/data/nifi

3、再到 HDFS 中查看 nifi 的文件存储目录
节点:slave1

[root@slave1 ~]# hdfs dfs -ls /user/nifi/
Found 3 items
-rw-r--r--   3 root supergroup         15 2021-01-08 00:53 /user/nifi/nifi1.txt
-rw-r--r--   3 root supergroup         15 2021-01-08 00:53 /user/nifi/nifi2.txt
-rw-r--r--   3 root supergroup         15 2021-01-08 00:53 /user/nifi/nifi3.txt

节点:slave2

[root@slave2 ~]# hdfs dfs -ls /user/nifi/
Found 3 items
-rw-r--r--   3 root supergroup         15 2021-01-08 00:53 /user/nifi/nifi1.txt
-rw-r--r--   3 root supergroup         15 2021-01-08 00:53 /user/nifi/nifi2.txt
-rw-r--r--   3 root supergroup         15 2021-01-08 00:53 /user/nifi/nifi3.txt

节点:slave3

[root@slave3 ~]# hdfs dfs -ls /user/nifi/
Found 3 items
-rw-r--r--   3 root supergroup         15 2021-01-08 00:53 /user/nifi/nifi1.txt
-rw-r--r--   3 root supergroup         15 2021-01-08 00:53 /user/nifi/nifi2.txt
-rw-r--r--   3 root supergroup         15 2021-01-08 00:53 /user/nifi/nifi3.txt

4、HDFS WEB 查看 nifi 文件列表
在这里插入图片描述
5、查看 HDFS 中文件 nif1.txt
在这里插入图片描述
6、查看 HDFS 中文件 nif2.txt
在这里插入图片描述
7、查看 HDFS 中文件 nif3.txt
在这里插入图片描述

参考

开源中国 https://www.oschina.net/p/nifi
实例 https://my.oschina.net/u/4016761/blog/4577005
入门 https://www.jianshu.com/p/62b7e44cfd0b

至此,基于 Hadoop 3.3.0 集群 安装、部署 Nifi 1.12.1 操作完毕,希望能够对您有所帮助!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hadoop是一个分布式计算框架,可用于处理大规模数据集。以下是Hadoop3.3.0集群配置步骤。 1. 安装Java 确保在所有节点上安装了Java。对于Hadoop3.3.0,建议使用Java 8。 2. 下载Hadoop 从官方网站下载最新版本的Hadoop,并将其解压到所有节点的相同目录中。建议将Hadoop安装在/opt/hadoop/目录下。 3. 配置Hadoop环境变量 在每个节点上编辑/etc/profile文件,并添加以下行: ``` export HADOOP_HOME=/opt/hadoop/hadoop-3.3.0 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 然后运行source /etc/profile以使更改生效。 4. 配置Hadoop集群 在所有节点上编辑/opt/hadoop/hadoop-3.3.0/etc/hadoop目录中的core-site.xml文件,并添加以下内容: ``` <configuration> <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property> </configuration> ``` 其中,master是Hadoop集群中的主节点。 接下来,在每个节点上编辑/opt/hadoop/hadoop-3.3.0/etc/hadoop目录中的hdfs-site.xml文件,并添加以下内容: ``` <configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/opt/hadoop/hadoop-3.3.0/hdfs/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/opt/hadoop/hadoop-3.3.0/hdfs/datanode</value> </property> </configuration> ``` 其中,dfs.replication设置为3以确保数据有三个副本,dfs.namenode.name.dir定义了主节点上的名称节点数据目录,dfs.datanode.data.dir定义了数据节点上的数据目录。 最后,在/opt/hadoop/hadoop-3.3.0/etc/hadoop目录中的mapred-site.xml.template文件中创建一个新的mapred-site.xml文件,并添加以下内容: ``` <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> ``` 5. 启动Hadoop集群 在主节点上,运行以下命令启动Hadoop集群: ``` $ start-dfs.sh $ start-yarn.sh ``` 然后,在主节点上运行以下命令格式化HDFS文件系统: ``` $ hdfs namenode -format ``` 现在,Hadoop集群已经配置完成。可以使用Hadoop命令行工具或Web界面来管理集群

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值