NiFi-面向流程的大数据处理框架

任何一个大数据分析的软件,都需要一个强大的数据拉取组件、数据仓储系统、数据处理引擎、任务调度引擎和流程设计界面。Hadoop和Spark的重点是在数据的存储和任务调度,R的重点是数据分析引擎。数据拉取组件和流程则是NiFi的主要强项。

一、NiFi是什么?

Apache NiFi 是一个易于使用、功能强大而且可靠的数据拉取、数据处理和分发系统。Apache NiFi 是为数据流设计。它支持高度可配置的指示图的数据路由、转换和系统中介逻辑,支持从多种数据源动态拉取数据。NiFi原来是NSA的一个项目,现在开源出来,由Apache基金会进行管理。

NiFi是基于Java的,使用Maven支持包的构建管理。 NiFi基于Web方式工作,后台在服务器上进行调度。可以为数据处理定义一个流程,然后进行处理,后台具有数据处理引擎、任务调度等组件。

二、NiFi的安装

首先需要安装maven和java的最新版,在Ubuntu上的OpenJDK会遇到遇到一些问题,因此建议从Oracle的官网http://java.com去下载,而且要SDK而不是jre。解压后到/etc/profile文件中设置JAVA_HOME的路径,以便让其它的程序能访问到。然后安装maven,ubuntu15.04的maven版本也都太久了,到http://maven.apache.org/去下载一个最新的版本,然后设置MAVEN_HOME的路径,并加到PATH环境变量中。设置完了后,看起来是这个样子:

export JAVA_HOME=/home/supermap/jdk1.8.0_51
export MAVEN_HOME=/home/supermap/GIScript/apache-maven-3.3.3
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

现在,到http://nifi.apache.org/去下载NiFi的安装程序。由于NiFi采用maven进行包管理,因此编译过程中会自动下载大量的支持库,需要保持网络畅通。如果中间出错,一般是网络连接中断引起的,重新运行编译即可。

三、NiFi的使用

运行(为了让环境变量有效,最好重启一下系统):

mvn clean install

然后,等待...等结束后,进/home/supermap/GIScript/nifi-0.2.1/nifi-assembly/target,找到nifi-XXX-bin.zip这个文件,拷贝到自己的运行目录,解压,进去,执行:

./bin/nifi.sh start

然后,通过浏览器访问地址:http://localhost:8080/nifi/,正常情况下,就能看到NiFi的主界面了。

停止服务使用:./bin/nifi.sh stop

目前的版本是0.2.X,还不算很成熟,但是考虑到在NSA已经使用,应该还是有一定的可用性的,只是目前的文档和教程都还很少,主要通过阅读源代码来理解程序的逻辑。

时间: 2024-11-09 02:43:22

NiFi-面向流程的大数据处理框架的相关文章

5种必知的大数据处理框架技术

大数据是收集.整理.处理大容量数据集,并从中获得见解所需的非传统战略和技术的总称.虽然处理数据所需的计算能力或存储容量早已超过一台计算机的上限,但这种计算类型的普遍性.规模,以及价值在最近几年才经历了大规模扩展. 本文将介绍大数据系统一个最基本的组件:处理框架.处理框架负责对系统中的数据进行计算,例如处理从非易失存储中读取的数据,或处理刚刚摄入到系统中的数据.数据的计算则是指从大量单一数据点中提取信息和见解的过程. 下文将介绍这些框架: · 仅批处理框架: Apache Hadoop · 仅流处

大数据处理框架

说起大数据处理啊,一切都起源于Google公司的经典论文.在当时(2000年左右),由于网页数量急剧增加,Google公司内部平时要编写很多的程序来处理大量的原始数据:爬虫爬到的网页.网页请求日志:计算各种类型的派生数据:倒排索引.网页的各种图结构等等.这些计算在概念上很容易理解,但由于输入数据量很大,单机难以处理.所以需要利用分布式的方式完成计算,并且需要考虑如何进行并行计算.分配数据和处理失败等等问题. 针对这些复杂的问题,Google决定设计一套抽象模型来执行这些简单计算,并隐藏并发.容错

安装关系型数据库MySQL 安装大数据处理框架Hadoop

安装关系型数据库MySQL 安装大数据处理框架Hadoop 简述Hadoop平台的起源.发展历史与应用现状. 列举发展过程中重要的事件.主要版本.主要厂商: 国内外Hadoop应用的典型案例. (1)Hadoop的介绍: Hadoop最早起源于Nutch,Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取.索引.查询等功能.但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题.2003年.2004年谷歌发表的两篇论文为该问题提供了可行的解决方案,即

大数据处理框架之Strom:kafka storm 整合

storm 使用kafka做数据源,还可以把使用netty. 新建一个maven 工程: pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.ap

关于举办大数据处理技术培训的通知

各有关单位: 中国科学院计算技术研究所是国家专门的计算技术研究机构,同时也是中国信息化建设的重要支撑单位,中科院计算所培训中心是致力于高端IT类人才培养及企业内训的专业培训机构.中心凭借科学院的强大师资力量,在总结多年大型软件开发和组织经验的基础上,自主研发出一整套课程体系,其目的是希望能够切实帮助中国软件企业培养高级软件技术人才,提升整体研发能力,迄今为止已先后为国家培养了数万名计算机专业人员,并先后为数千家大型国内外企业进行过专门的定制培训服务. 随着互联网.移动互联网和物联网的发展,我们已

大数据生态之数据处理框架探索

数据处理框架 数据处理是一个非常宽泛的概念,数据处理框架在数据架构中,主要是用于数据移动和分析这两大功能当中.对于数据移动,有离线数据移动和实时数据移动,也可以叫做是批量数据移动和流式数据移动.而对于分析这一块,有离线数据分析和实时数据分析,也可以称作是批量数据分析和流式数据分析.离线和实时,批量和流式,针对这两种不同的形式,就出现了多种不同的数据处理框架.有批量的数据处理框架,有流式的数据处理框架,也有批流融合的框架. 批量数据处理框架 批量数据处理框架最经典的就是 mapreduce 了,这

开源大数据处理系统/工具大全

本文一共分为上下两部分.我们将针对大数据开源工具不同的用处来进行分类,并且附上了官网和部分下载链接,希望能给做大数据的朋友做个参考.下面是第一部分. 查询引擎 一.Phoenix 贡献者::Salesforce 简介:这是一个Java中间层,可以让开发者在Apache HBase上执行SQL查询.Phoenix完全使用Java编写,代码位于GitHub上,并且提供了一个客户端可嵌入的JDBC驱动. Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的J

大数据处理分析的六大最好工具

来自传感器.购买交易记录.网络日志等的大量数据,通常是万亿或EB的大小,如此庞大的数据,寻找一个合适处理工具非常必要,今天我们为大家分享在大数据处理分析过程中六大最好用的工具. [编者按]我们的数据来自各个方面,在面对庞大而复杂的大数据,选择一个合适的处理工具显得很有必要,工欲善其事,必须利其器,一个好的工具不仅可以使我们的工作事半功倍,也可以让我们在竞争日益激烈的云计算时代,挖掘大数据价值,及时调整战略方向.本文转载自中国大数据网. CSDN推荐:欢迎免费订阅<Hadoop与大数据周刊>获取

大数据处理的关键架构

大数据如火如荼的火热着,互联网上资源又让人眼花缭乱不知如何下手,对于新手和准备成为大数据工程师的童鞋更是如此,此博文总结了网上一些知识,希望对大家有帮助. 下图是大数据处理的各个架构层: 以下一一简介各个层,使大家对这块知识有个总体把握: 一.数据存储层 宽泛地讲,据对一致性(consistency)要求的强弱不同,分布式数据存储策略,可分为ACID和BASE两大阵营. ACID是指数据库事务具有的四个特性:原子性(Atomicity).一致性(Consistency).隔离性(Isolatio