0625-6.2.0-Hello NiFi-第一个NiFi例子

Fayson的github: https://github.com/fayson/cdhproject

推荐关注微信公众号:“Hadoop实操”,ID:gh_c4c535955d0f

1 文档编写目的

Fayson在前面的文章介绍了什么是NiFi,参考《0622-什么是Apache NiFi》。同时对如何在CDH中使用Parcel安装CFM做了介绍,参考《0623-6.2.0-如何在CDH中安装CFM》。也介绍过NiFi处理器以及实操,参考《0624-6.2.0-NiFi处理器介绍与实操》。本文会完成第一个NiFi例子,通过NiFi监控一个本地数据目录,定时将新文件put到HDFS。

  • 测试环境

1.Redhat7.4
2.CM/CDH6.2
3.CFM1.0
4.NiFi1.9
5.使用root用户操作
6.CDH集群未启用Kerberos

2 Hello NiFi

1.在NiFi节点所在的服务器节点的本次磁盘中准备3个txt数据文件,内容比较简单都是“Hello Nifi!”

[root@ip-172-31-6-83 data]# ll
total 16
-rw-r--r-- 1 root root 2991 May  6 23:44 hive-hook-demo-1.0-SNAPSHOT.jar
-rw-r--r-- 1 root root   12 May  8 00:01 nifi1.txt
-rw-r--r-- 1 root root   12 May  8 00:01 nifi2.txt
-rw-r--r-- 1 root root   12 May  8 00:01 nifi3.txt
[root@ip-172-31-6-83 data]# cat nifi1.txt nifi2.txt  nifi3.txt
Hello NiFi!
Hello NiFi!
Hello NiFi!
[root@ip-172-31-6-83 data]#

在这里插入图片描述
2.在NiFi节点所在的服务器节点创建一个nifi目录,并且修改用户和属组。

[root@ip-172-31-6-83 data]# mkdir nifi
[root@ip-172-31-6-83 data]# chown nifi:nifi nifi
[root@ip-172-31-6-83 data]# ll
total 16
-rw-r--r-- 1 root root 2991 May  6 23:44 hive-hook-demo-1.0-SNAPSHOT.jar
drwxr-xr-x 2 nifi nifi    6 May  8 00:04 nifi
-rw-r--r-- 1 root root   12 May  8 00:01 nifi1.txt
-rw-r--r-- 1 root root   12 May  8 00:01 nifi2.txt
-rw-r--r-- 1 root root   12 May  8 00:01 nifi3.txt
[root@ip-172-31-6-83 data]#

在这里插入图片描述
3.在HDFS中创建一个nifi目录,为了测试简单,将目录权限修改为最大。

[root@ip-172-31-6-83 data]# hadoop fs -mkdir /nifi 
[root@ip-172-31-6-83 data]# hadoop fs -chmod 777 /nifi
[root@ip-172-31-6-83 data]# hadoop fs -ls /
Found 3 items
drwxrwxrwx   - root supergroup          0 2019-05-08 00:05 /nifi
drwxrwxrwt   - hdfs supergroup          0 2019-05-05 17:39 /tmp
drwxrwxrwx   - hdfs supergroup          0 2019-05-07 20:48 /user
[root@ip-172-31-6-83 data]#

在这里插入图片描述
4.进入NiFi的流程管理页面。

在这里插入图片描述

5.拖入一个处理器到画布中间。

在这里插入图片描述

6.选择GetFile处理器。

在这里插入图片描述

7.编辑GetFile处理器的属性,将“Input Directory”属性值改为前面创建的数据目录的绝对路径/data/nifi,点击“APPLY”保存。

在这里插入图片描述

在这里插入图片描述

8.再次拖入一个处理器到画布中间,选择PutHDFS处理器,点击“ADD”。

在这里插入图片描述

在这里插入图片描述

9.配置PutHDFS处理器,将Hadoop Configuration Resources属性配置为

/etc/hadoop/conf/hdfs-site.xml,/etc/hadoop/conf/core-site.xml

将Directory属性配置为前面创建好的HDFS目录/nifi,点击“APPLY”保存配置。

在这里插入图片描述
10.连接GetFile处理器到PutHDFS处理器。

在这里插入图片描述

在这里插入图片描述

11.勾选PutHDFS处理器的success和failure的Automatically Terminate Relationships,点击“APPLY”保存。

在这里插入图片描述

在这里插入图片描述

12.左键单击选中GetFile处理器,按住shift再次选中PutHDFS处理器,点击“Start”。

在这里插入图片描述

在这里插入图片描述

13.运行一段时间后,确认本地目录/data/nifi和HDFS目录/nifi都为空没有数据。

在这里插入图片描述

14.拷贝前面准备好的nifi1.txt到本地的/data/nifi目录。

[root@ip-172-31-6-83 data]# ll
total 16
-rw-r--r-- 1 root root 2991 May  6 23:44 hive-hook-demo-1.0-SNAPSHOT.jar
drwxr-xr-x 2 nifi nifi    6 May  8 00:04 nifi
-rw-r--r-- 1 root root   12 May  8 00:01 nifi1.txt
-rw-r--r-- 1 root root   12 May  8 00:01 nifi2.txt
-rw-r--r-- 1 root root   12 May  8 00:01 nifi3.txt
[root@ip-172-31-6-83 data]# cp nifi1.txt nifi
[root@ip-172-31-6-83 data]#

15.去HDFS目录/nifi进行检查是否put成功。

[root@ip-172-31-6-83 data]# hadoop fs -ls /nifi
Found 1 items
-rw-r--r--   3 nifi supergroup         12 2019-05-08 00:26 /nifi/nifi1.txt
[root@ip-172-31-6-83 data]# hadoop fs -cat /nifi/nifi1.txt
Hello NiFi!
[root@ip-172-31-6-83 data]#

在这里插入图片描述

发现已经put到HDFS成功。

16.检查本地的/data/nifi目录,发现该目录下之前拷贝过去的文件已经被删除了。

[root@ip-172-31-6-83 data]# ll /data/nifi
total 0
[root@ip-172-31-6-83 data]#

17.同时将之前准备好的nifi2.txt和nifi2.txt文件拷贝到本地的/data/nifi目录,并对HDFS中的数据进行观察。

[root@ip-172-31-6-83 data]# cp nifi2.txt nifi3.txt nifi
[root@ip-172-31-6-83 data]# hadoop fs -ls /nifi
Found 3 items
-rw-r--r--   3 nifi supergroup         12 2019-05-08 00:26 /nifi/nifi1.txt
-rw-r--r--   3 nifi supergroup         12 2019-05-08 00:28 /nifi/nifi2.txt
-rw-r--r--   3 nifi supergroup         12 2019-05-08 00:28 /nifi/nifi3.txt
[root@ip-172-31-6-83 data]# hadoop fs -cat /nifi/nifi1.txt /nifi/nifi2.txt /nifi/nifi3.txt 
Hello NiFi!
Hello NiFi!
Hello NiFi!
[root@ip-172-31-6-83 data]# ll /data/nifi
total 0
[root@ip-172-31-6-83 data]#

在这里插入图片描述

注意:put到HDFS成功后,本地的/data/nifi中的文件都已被删除。

18.通过NiFi的界面可以发现GetFile和PutHDFS处理器都读/写了36 byte,并且写出或者写入3个文件。

在这里插入图片描述

至此,第一个NiFi例子,“Hello NiFi”演示成功并完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值