Kylo 入坑记

1、概述

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

经过 Kylo 的 GUI 界面,业务人员能够按照他们关心的方式来操做数据,包括: 建立数 据源、定义数据加载、数据预处理、转换,发布到目标系统。由于不须要部署任何代码,也不须要依赖 IT 部门,业务人员作到了对项目的彻底掌控,从而极大的减小了相似项目所需的时间。java

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

虽然不是万灵丹(特别是对于那些拥有混乱无序数据湖的企业来讲), Kylo 及相似 Kylo 的产品仍是很是有意义的,由于它让技术人员和业务人员都可以操做大数据,填平了大数据技术与大数据使用之间的鸿沟。 业务人员能够更快的得到数据洞察,IT 人员则能够专一在工程及数据架构问题,而不是编写代码。
From zhuanlan.zhihu.com 为企业级的数据分析赋能: 基于开源数据湖管理系统Kylo的业务分析github

2、安装

2.1 说明

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

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

2.2 历程

过程很艰辛!!!
不过也学习到了不少基础知识!app

  1. 因为官方仅仅提供 rpm 包,你能够尝试将 rpm 包转化成 deb 包,或者编译源码获得 rpm 和 deb 包。框架

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

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、配置

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 分钟左右。

4、与 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 入坑记

相关文章
相关标签/搜索