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

相關文章
相關標籤/搜索