前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0625-6.2.0-Hello NiFi-第一个NiFi例子

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

作者头像
Fayson
发布2019-05-15 10:32:18
1.4K0
发布2019-05-15 10:32:18
举报
文章被收录于专栏:Hadoop实操Hadoop实操

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

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!”

代码语言:javascript
复制
[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目录,并且修改用户和属组。

代码语言:javascript
复制
[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目录,为了测试简单,将目录权限修改为最大。

代码语言:javascript
复制
[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目录。

代码语言:javascript
复制
[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成功。

代码语言:javascript
复制
[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目录,发现该目录下之前拷贝过去的文件已经被删除了。

代码语言:javascript
复制
[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中的数据进行观察。

代码语言:javascript
复制
[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”演示成功并完成。

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

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档