Kylo 入坑記


一、概述

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 入坑記


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM