0
点赞
收藏
分享

微信扫一扫

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

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。


Fayson的github:

​​https://github.com/fayson/cdhproject​​


提示:代码块部分可以左右滑动查看噢


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]#


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


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]#


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


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]#


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


4.进入NiFi的流程管理页面。


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


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


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


6.选择GetFile处理器。


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


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


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

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


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


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

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


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

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

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


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


10.连接GetFile处理器到PutHDFS处理器。


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

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


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


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

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


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


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

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


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


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


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]#


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


发现已经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]#


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


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

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


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


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


提示:代码块部分可以左右滑动查看噢


为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。


推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

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


举报

相关推荐

0 条评论