Apache Kylin™是一個開源的分佈式分析引擎,提供Hadoop/Spark之上的SQL查詢接口及多維分析(OLAP)能力以支持超大規模數據,最初由eBay Inc. 開發並貢獻至開源社區。它能在亞秒內查詢巨大的Hive表。html
若是須要將Kylin服務受控於Ambari管控,那就須要集成服務了。nginx
<!--more-->git
關於ambari-Kylin的Python腳本已上傳至github,具體地址參見:傳送門github
使用該項目的前提條件
httpd
服務並開啓,將Kylin和Nginx的源碼包放到/var/www/html/kylin
目錄下。(因爲源碼包太大,github
上傳不了,請到文章底部關注個人微信公衆號,回覆ambari-kylin獲取雲盤連接。也感謝您的關注!)ambari
集羣各主機已安裝wget
命令CentOS-7 64
位系統,CentOS-6 64
位系統(使用CentOS-6
系統,啓動nginx
時可能會報錯,下文會粘出解決方法),其餘系統沒有測試部署步驟:
/var/www/html/kylin
中,不須要解壓。2.6
,執行一下命令:cd /var/lib/ambari-server/resources/stacks/HDP/2.6/services mkdir KYLIN # 將ambari-Kylin項目拷貝到KYLIN目錄下 git clone https://github.com/841809077/ambari-Kylin.git /var/lib/ambari-server/resources/stacks/HDP/2.6/services/KYLIN # 若是命令卡住,請手動下載壓縮包並解壓到KYLIN目錄下
最終如圖所示:web
ambari-server restart
Kylin部署方式
目前採用的Kylin
部署集羣方式相對來講簡單,只須要增長Kylin
的節點數,由於Kylin
的元數據(Metadata
)是存儲在HBase
中,只須要在Kylin
中配置,讓Kylin
的每一個節點都能訪問同一個Metadata
表就造成了Kylin
集羣(kylin.metadata.url
值相同)。而且Kylin
集羣中只有一個Kylin
實例運行任務引擎(kylin.server.mode=all
),其它Kylin
實例都是查詢引擎(kylin.server.mode=query
)模式。
爲了實現負載均衡,即將不一樣用戶的訪問請求經過Load Balancer
(負載均衡器)(好比lvs,nginx
等)分發到每一個Kylin
節點,保證Kylin
集羣負載均衡。對於負載均衡器能夠啓用SSL
加密,安裝防火牆,對外部用戶只用暴露負載均衡器的地址和端口號,這樣也保證Kylin
系統對外部來講是隔離的。
咱們的生產環境中使用的LB
是nginx
,用戶經過LB
的地址訪問Kylin
時,LB
將請求經過負載均衡調度算法分發到Kylin
集羣的某一個節點,不會出現單點問題,同時若是某一個Kylin
節點掛掉了,也不會影響用戶的分析。
這種方式也不是完美的,可是比較好配置,通常場景下是能夠知足的。算法
該項目修改以下:
Kylin和Nginx源碼修改shell
/var/log/kylin/
目錄下/var/log/nginx/目錄下
/var/run/nginx/nginx.pid
kylin.xml
和nginx.xml
文件內容80
端口與httpd
端口衝突,因此修改Nginx的端口爲81
session
會話持久性項目邏輯說明
wget
命令在主節點的本地倉庫中下載Kylin
和Nginx
的源碼,源碼安裝路徑分別爲:/usr/hdp/2.6.4.0-91/kylin
和/usr/hdp/2.6.4.0-91/nginx
。不要修改nginx的安裝目錄,不然啓動nginx會報錯。若是須要更改nginx的安裝目錄,須要從新編譯nginx源碼。 效果圖
nginx在CentOS-6 64位系統啓動失敗問題解決方案
點擊這裏獲取解決方案segmentfault
還擁有的功能
kylin + nginx 源碼包太大,gitgub上傳不了,而且上述還擁有的功能已經實現,若是有須要的能夠私信個人公衆號:回覆ambari-kylin獲取雲盤連接,裏面有整個源碼包和自定義Kylin安裝服務腳本完整版。微信
上述功能若是感興趣的,能夠微信搜索公衆號私聊我:大數據實戰演練或者掃描下方二維碼關注便可:session
好了各位,以上就是這篇文章的所有內容了,能看到這裏的人呀,都是 人才。
白嫖很差,創做不易。 各位的支持和承認,就是我創做的最大動力,咱們下篇文章見!
若是本篇博客有任何錯誤,請批評指教,不勝感激 !