一、概述

Kylo,作为一个基于 Spark 和 NiFi 的开源数据湖编排框架,解决对数据湖获取、治理、感知和技术支持等诸多问题。Kylo 将数据湖的很多功能自动化,包括数据接入、准备、分析发现、Profiling 和管理等等。Kylo 提供了符合业务分析人员思路的 GUI 界面以及 IT 运营和数据科学等模块。

通过 Kylo 的 GUI 界面,业务人员可以按照他们关心的方式来操作数据,包括: 创建数 据源、定义数据加载、数据预处理、转换,发布到目标系统。因为不需要部署任何代码,也不需要依赖 IT 部门,业务人员做到了对项目的完全掌控,从而极大的减少了类似项目所需的时间。

对于有技术能力的数据科学家、数据管家及 IT 运营人员来说,Kylo 提供包括元数据管理、合适的数据加载及类似 Goolgle 的检索能力,可以为业务分析人员赋予不同的权限、提供随时可用的模板,帮助他们使用、监控并提升数据湖的服务 SLA。

虽然不是万灵丹(特别是对于那些拥有混乱无序数据湖的企业来说), Kylo 及类似 Kylo 的产品还是非常有意义的,因为它让技术人员和业务人员都能够操作大数据,填平了大数据技术与大数据使用之间的鸿沟。 业务人员可以更快的获得数据洞察,IT 人员则可以专注在工程及数据架构问题,而不是编写代码。

From zhuanlan.zhihu.com 为企业级的数据分析赋能: 基于开源数据湖管理系统Kylo的业务分析

二、安装

2.1 说明

官网:http://kylo.readthedocs.io/en/latest/installation/KyloSetupWizardDeploymentGuide.html

http://kylo.readthedocs.io/en/latest/installation/KyloManualDeploymentGuide.html

参考博文:http://www.treselle.com/blog/kylo-setup-for-data-lake-management/

2.2 历程

过程很艰辛!!!

不过也学习到了很多基础知识!

  1. 由于官方仅仅提供 rpm 包,你可以尝试将 rpm 包转化成 deb 包,或者编译源码得到 rpm 和 deb 包。

  2. 在安装过程中,尽量使用 offline 的方式。最好的方式就是先将软件下载下来,再根据脚本的指导去进行配置,也可以修改脚本进行自动化配置。

2.3 小结

如果你之前使用过 nifi 这一类的应用,那么上手 kylo 不是一件很难的事情。类似 nifi ,kylo 也提供了一个 ui 界面建立起用户与系统的交互。

相对于 nifi 使用 Processor 与外部服务建立起连接, Kylo 则选择了集成部分服务,使得自己更为壮大。

在安装 kylo 时,你被要求安装如下软件:

  • Kylo Applications - /opt/kylo
  • Java 8 - /opt/java/current
  • NiFi - /opt/nifi/current
  • ActiveMQ - /opt/activemq
  • Elasticsearch - RPM installation default location

    还包括了:
  • MySQL

不难看出,kylo 集成了 NiFi 实际上是对 NiFi 的扩展。集成 Elasticsearch 用于全文搜索,集成 ActiveMQ 用于消息通信(RPC)......

三、配置

3.1 配置文件

配置文件位置:

  • kylo-services:/opt/kylo/kylo-services/conf
  • kylo-ui:/opt/kylo/kylo-ui/conf

3.2 日志文件

日志文件位置:

  • kylo-services:/var/log/kylo-services
  • kylo-ui:/var/log/kylo-ui

3.3 Kylo 配置文件修改

配置文件一旦修改后,需要重启 Kylo 才能使得修改的配置生效。

这一点跟 nifi 一个尿性,重启后需要等待较长的一段时间,我实际体验大约是 10 分钟左右。

四、与 NiFi 的配合

4.0 kylo 中的 nifi

Kylo 通过 NiFi REST API 实现对 NiFi 的一些基本操作,

4.1 nifi 地址

nifi 的地址在 /opt/kylo/kylo-services/conf/application.properties 中进行修改

nifi.rest.host=192.168.203.12 # 千万注意,这里不能使用 localhost
nifi.rest.port=8080

4.2 遇到的异常

The Reporting task does not exist. A com.think big analytics.nifi.provenance.reporting.KyloProvenanceEvent Reporting Task needs to be RUNNING to process jobs in Kylo

问题原因:

The reporting task sends events about what is happening in NiFi back to Kylo for reporting。

from https://groups.google.com/forum/#!topic/kylo-community/dACLQHjniRU

解决方案:

http://kylo.readthedocs.io/en/latest/how-to-guides/NiFiKyloProvenanceReportingTask.html

此文在我的 Github Pages 上同步发布,地址为:Kylo 入坑记

Kylo 入坑记的更多相关文章

  1. Hadoop入坑记

    Hadoop入坑记 按照官方给的伪分布式配置 etc/hadoop/core-site.xml: <configuration> <property> <name> ...

  2. Spring Cloud Gateway入坑记

    Spring Cloud Gateway入坑记 前提 最近在做老系统的重构,重构完成后新系统中需要引入一个网关服务,作为新系统和老系统接口的适配和代理.之前,很多网关应用使用的是Spring-Clou ...

  3. conda命令入坑记

    conda命令入坑记 本人使用的软件版本: TypeError: LoadLibrary() argument 1 must be str, not None 网上太多的资料,大多都是在讲path的设 ...

  4. ALS部署Spark集群入坑记

    [Stage 236:> (0 + 0) / 400]17/12/04 09:45:55 ERROR yarn.ApplicationMaster: User class threw excep ...

  5. Day25 前端自学日记——入坑记

    一 学习契机 今年是走出校门的第一个年头,进入了一家还算不错的公司,领着一份还算不错的薪水,在外人眼中,似乎这样已经不错了,只要我努力好好做,前程一片光明.可事实真是这样吗?两份实习经历都指向我应该从 ...

  6. Highcharts入坑记

    第一次用Highcharts画一个温度湿度变化的图片,因为不熟悉跳了好多坑,特记录下: 一.JS引用 <script src="~/Scripts/jquery.min.js" ...

  7. 【netcore入坑记】 .Net core UseRowNumberForPaging 分页报错 SQL Server 2008 R2 EntityFrameworkCore

    异常环境: netcore版本:.Net Core 2.1 efcore版本:Microsoft.EntityFrameworkCore.SqlServer 2.1.1 sql sqlserver 版 ...

  8. gRPC入坑记

    概要 由于gRPC主要是谷歌开发的,由于一些已知的原因,gRPC跑demo还是不那么顺利的.单独写这一篇,主要是gRPC安装过程中的坑太多了,记录下来让大家少走弯路. 主要的坑: 如果使用PHP.Py ...

  9. Jenkins入坑记

    记录一遍Jenkins初级使用教程 一,安装 (操作系统 centerOS7) 1-1.本次使用的是rpm包安装方式,在Jenkins官网下载rpm安装文件 下载地址: https://pkg.jen ...

随机推荐

  1. fgetc read缓冲机制区别

    read属于系统调用,它的缓存是基于内核的缓冲,是记在内核空间的. 而fgetc是标准函数, 是在用户空间I/O缓冲区的 比如用fgetc读一个字节,fgetc有可能从内核中预读1024个字节到I/O ...

  2. PHP常用必备函数

    array_change_key_case — 返回字符串键名全为小写或大写的数组 array_chunk — 将一个数组分割成多个 array_combine — 创建一个数组,用一个数组的值作为其 ...

  3. 【IOS6.0 自学瞎折腾】(四)Xib可视化编程

    其实在Interface Builder中,要把xib中的控件与代码联系起来用鼠标拖拉连线是非常方便的一件事,有的教程写的非常复杂要先点这后点那的. 一:IBOutlet,IB说明是Interface ...

  4. web基础---->Fileupload文件的上传

    这里我们介绍文件上传的知识,使用的是apache的Commons FileUpload框架. 文件上传的使用 项目的部分结构如下: 一.使用Commons FileUpload的上传功能,我们需要引入 ...

  5. java 集合之HashMap

    原文出处http://zhangshixi.iteye.com/blog/672697 1.    HashMap概述: HashMap是基于哈希表的Map接口的非同步实现.此实现提供所有可选的映射操 ...

  6. outline的兼容性及使用限制

    outline 和 border的区别: outline不占据文档空间,border占据文档空间. outline无法单独设置上下左右,只要设置outline,必须所有的边都设置:border可以设置 ...

  7. Android 让GridView的高度为Wrap_content根据内容自适应高度

    From:http://www.jayway.com/2012/10/04/how-to-make-the-height-of-a-gridview-wrap-its-content/ 如果把Grid ...

  8. stm32的VCC/VDD/VSS/VEE/VBAT的区别

    先看一下stm32vet6的引脚图吧 电路设计以及PCB制作中,经常碰见电源符号:VCC. VDD.VEE.VSS,他们具有什么样的关系那? 一.解释 VCC:C=circuit 表示电路的意思, 即 ...

  9. postgresql 表空间创建、删除

    表空间:字面上理解就是表存储的物理空间,其实包括数据库的表.索引.序列等. 可以将表空间创建在服务器的不同分区,这样做的好处有: 一.如果初始化集群所在分区已经用光,可以方便的其他分区上创建表空间已达 ...

  10. 探究 Oracle 高水位对数据库性能影响

    在开始深入分析之前,让我们先来了解一下高水位线 HWM. 一. HWM 的基本原理 (概念) 在 Oracle 中,高水位线(High-warter mark, HWM)被用来形容数据块的使用位置,即 ...