一、准备工作

1、官网下载nifi

2、上传到linux随便哪里把,因为nifi是用java写的,所以首先要保证你的linux装了jdk

  其次保证系统在装了zookeeper,因为nifi是一个分布式框架,需要zookeeper做协作支持,后面会具体讲讲zookeeper的作用。

3、解压缩 ,unzip nifi-1.3.0-bin.tar.gz

4、进入nifi.properties 配置web访问的ip和端口

5、sh bin/nifi.sh status 查看nifi状态

6、启动nifi    sh bin/nifi.sh start

很简单把 这样就启动起来了。

7、下面使用我们在nifi.properties 中配置的主机ip和端口号运行web UI界面看看把。

二、开始玩玩把!

据说玩转nifi的三部曲 就是  拖拽--配置--连接

1、拖拽 , 从哪里拖拽呢。

2、拽下来之后就选择你需要的Processor吧。  啥是Processor呢, 如其名 ,就是一个处理器。

选择你需要的Processor ,左边也给你了一些大选项,  相当于模糊查询把,就是select ···from processor·· where  processorName like  ‘%XXX%’    好吧我意淫了。。。。

也可以直接在右上角的输入框输入你需要的处理器,容器会实时过滤。

3、随便选择一个处理器比如Fetchfile,选择完成之后,则处理器上,右键,会有很多选项可供选择。

这里我们开始三部曲的第二部,配置

点开之后 ,有四个选项, 这里我们先选择properties,这个选项也是我们做的最多的地方,其他几个几乎不关心, 当然,他们的作用 我们后面细细道来

File to fetch属性,我随机选择一个文件/data/zhangshk/nifi/1.txt      1.txt 内容为   hello nifi

fetch了一个文件之后,我们把他换一个位置,比如存到另一个地方,这样我们程序就跑通了。  其实我们做数据对接也是这要玩的。

比如把http接口的数据接过来,存入mysql ,或者从http接口接过来的数据存入hbase等等。

再来一个处理器getFile   ,  注意有几个属性, Directory为存放文件的目录,Confilict Resolution Strategy 建议选择ignore ,因为如果文件Directory已经存在了,也不会报错,默认他就是如果已经存在就报错, 这个根据业务需要更改,甭管了,按我图上写。。。

3、好了 现在到了三步曲,第三步  连接 ,这个最简单 , 连连线。

  流程需要一个头,那我们再添加一个处理器,GenerateFlowFile ,这个处理器,主要是用来设置全局的属性,还有控制集群的调度时间,频次。这些以后再说,现在先让他跑起来。这里我们使用timer driven   间隔100000000sec 跑一次 ,千万不要用他默认的0sec  那样相当于间隔0秒跑一次 ,也就是死循环    哈哈。 真贱。。

连线

面板上随便一个地方 右键  start

图中 可以看success 成功了,  那么我们去看看文件系统

test文件夹出现了,进去看看:

生辰了一个文件,文件名是他按照一定的算法生成的不管, 进去看看:

ok  成功了,  是不是还听好玩的。  。  。

大家可能会有很多疑惑, 多玩玩  ,多试试 就熟了,  也可以留言给我。

简单的玩玩,感觉挺好的。

之后还会写一些在公司里实际用到的数据对接的企业案例 。当然 在这之前, 可能会讲讲一些比较常用的处理器, 和他的配置。

大家有什么问题  可以留言,大家一起学习进步。。

Apache nifi 第二篇(小白初试) nifi数据对接流程初次尝试的更多相关文章

  1. 【开源.NET】 轻量级内容管理框架Grissom.CMS(第二篇前后端交互数据结构分析)

    这是 CMS 框架系列文章的第二篇,第一篇开源了该框架的代码和简要介绍了框架的目的.作用和思想,这篇主要解析如何把sql 转成标准 xml 配置文件和把前端post的增删改数据规范成方便后台解析的结构 ...

  2. 第二篇:Power BI数据可视化之基于Web数据的报表制作(经典级示例)

    前言 报表制作流程的第一步显然是从各个数据源导入数据,Power BI能从很多种数据源导入数据:如Excel,CSV,XML,以及各类数据库(SQL Server,Oracle,My SQL等),两大 ...

  3. 第二篇:R语言数据可视化之数据塑形技术

    前言 绘制统计图形时,半数以上的时间会花在调用绘图命令之前的数据塑型操作上.因为在把数据送进绘图函数前,还得将数据框转换为适当格式才行. 本文将给出使用R语言进行数据塑型的一些基本的技巧,更多技术细节 ...

  4. Shiro第二篇【介绍Shiro、认证流程、自定义realm、自定义realm支持md5】

    什么是Shiro shiro是apache的一个开源框架,是一个权限管理的框架,实现 用户认证.用户授权. spring中有spring security (原名Acegi),是一个权限框架,它和sp ...

  5. Struts2第二篇【开发步骤、执行流程、struts.xml讲解、defalut-struts讲解】

    前言 我们现在学习的是Struts2,其实Struts1和Struts2在技术上是没有很大的关联的.Struts2其实基于Web Work框架的,只不过它的推广没有Struts1好,因此就拿着Stru ...

  6. Apache nifi 第一篇(概述)

    1.什么是Apache NiFi? 简单地说,NiFi是为了自动化系统之间的数据流.虽然数据流这种形式很容易理解,但我们在此使用它来表示系统之间的自动化和不同系统之间数据的流转.企业拥有多个系统,其中 ...

  7. 小白两篇博客熟练操作MySQL 之 第二篇

    小白两篇博客熟练操作MySQL  之   第二篇 一. 视图 视图是一个虚拟表,其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用名称即可获取结果集, 并可以将其当做表来使用. s ...

  8. 解剖SQLSERVER 第二篇 对数据页面头进行逆向(译)

    解剖SQLSERVER 第二篇  对数据页面头进行逆向(译) http://improve.dk/reverse-engineering-sql-server-page-headers/ 在开发Orc ...

  9. 第二篇 Integration Services:SSIS数据泵

    本篇文章是Integration Services系列的第二篇,详细内容请参考原文. 简介SSIS用于移动数据.数据流任务提供此功能.因为这个原因,当介绍SSIS时我喜欢从数据流任务开始.数据流任务的 ...

随机推荐

  1. Linux设备驱动的软件架构思想

    驱动相关:硬件之上的软件层,负责底层硬件与用户程序的交互 设备相关:底层设备的硬件操作 总线:匹配设备和驱动     设备驱动分层的思想:为同一类设备设计一个框架,而框架中的核心层则实现了该设备的一些 ...

  2. insert和delete底层实现的方式

    operator delete ()全局函数原型: /*operator delete: 该函数最终是通过free来释放空间的*/void operator delete(void *pUserDat ...

  3. java猜拳

    import java.util.Scanner; public class startGuess { Person jia; Computer yi; int count; public void ...

  4. Linux 运维常用命令

    参考: https://segmentfault.com/a/1190000009745139 http://blog.51cto.com/xuqq999/774714 .查看有多少个IP访问: aw ...

  5. java并发AtomicIntegerArray

    java并发AtomicIntegerArray AtomicIntegerArray的原子性 AtomicIntegerArray的原子性是对数组的元素的,不是数组. 源码基于openjdk 1.8 ...

  6. [Codeforces #608 div2]1271D Portals

    Description You play a strategic video game (yeah, we ran out of good problem legends). In this game ...

  7. 【高软作业3】:原型化系统 DevTools

    原型化系统:DevTools       密码:lcx 1. 这是一个什么样的平台? DevTools,可译为:开发者工具库.初衷是聚集各类开发工具,方便开发者获取:此外,大家可以分享自己的工具库与工 ...

  8. GSON使用笔记(3) -- 如何反序列化出List

    GSON使用笔记(3) -- 如何反序列化出List 时间 2014-06-26 17:57:06  CSDN博客原文  http://blog.csdn.net/zxhoo/article/deta ...

  9. List循环添加数据覆盖问题

    问题:java开发时,当我们使用List.add();循环添加数据,有时会出现前面添加的数据会被后面覆盖的现象.这是怎么回事尼? 会覆盖数据的代码 package com.boot.test; imp ...

  10. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:内嵌下拉菜单的按钮组

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...