如何打包Livy和Zeppelin的Parcel包

1.文檔編寫目的


Fayson在前面文章《Livy,基於Apache Spark的開源REST服務,加入Cloudera Labs》、《如何編譯Livy並在非Kerberos環境的CDH集羣中安裝》、《如何在Kerberos環境的CDH集羣部署Livy》、《如何通過Livy的RESTful API接口向非Kerberos環境的CDH集羣提交作業》及《如何通過Livy的RESTful API接口向Kerberos環境的CDH集羣提交作業》中對Livy的介紹、安全與非安全集羣的部署以及使用。前面的部署方式相對比較麻煩且不便於管理,本篇文章Fayson主要介紹如何使用腳本打包適用於Cloudera的Livy和Zeppelin的Parcel。

  • 測試環境

1.CM5.15.0和CDH版本5.14.2

2.Livy0.5.0

2.環境準備


在進行Livy的Parcel包生成前,我們需要準備打包Parcel腳本的運行環境,確保有公網環境,因爲編譯Livy時需要下載依賴包。

1.編譯依賴Java環境(JDK7或更高版本)

export JAVA_HOME=/usr/java/jdk1.8.0_131
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar:$CLASSPATH

(可左右滑動)

2.安裝Maven環境(maven3),用於下載依賴包

export MVN_HOME=/usr/local/maven
export PATH=$MVN_HOME/bin:$PATH

(可左右滑動)

3.生成manifest.json文件依賴Python環境(2.7/3.3或更高版本)

3.打包Livy和Zeppelin的Parcel包


在GitHub上有提供腳本來打包Livy和Zeppelin的Parcel,地址如下:

https://github.com/alexjbush/livy_zeppelin_cdh_csd_parcels

接下來我們就利用上面的腳本來打包Livy和Zeppelin的Parcel,生成Livy和Zeppelin的Parcel包步驟:

  • 下載Livy和Zeppelin源碼並編譯
  • 生成Livy和Zeppelin的Parcel包
  • 下載編譯Cloudera提供的cm_ext工具,用於校驗parcel及生成manifest.json文件
  • 生成Livy和Zeppelin的csd文件,用於CM對Livy和Zeppelin服務的識別

1.使用git命令將GitHub上腳本clone到本地

[root@cdh05 disk1]# git clone https://github.com/alexjbush/livy_zeppelin_cdh_csd_parcels.git

(可左右滑動)

2.進入livy_zeppelin_cdh_csd_parcels目錄,運行如下命令

[root@cdh05 disk1]# cd livy_zeppelin_cdh_csd_parcels/
[root@cdh05 livy_zeppelin_cdh_csd_parcels]# sh build.sh parcel

(可左右滑動)

等待命令執行完成,默認使用的livy版本爲Apache官網的0.5.0版本。

默認使用的Zeppelin版本爲0.8.0

命令執行成功後在當前目錄下生成了Livy和Zeppelin的Parcel包

3.執行腳本生成Livy和Zeppelin的csd文件

[root@cdh05 ~]# cd /data/disk1/livy_zeppelin_cdh_csd_parcels/
[root@cdh05 livy_zeppelin_cdh_csd_parcels]# sh build.sh csd

(可左右滑動)

命令執行成功,如下生成了Livy和Zeppelin的csd文件

4.總結


1.默認打包腳本是以Livy0.5.0和Zeppelin0.8.0版本編譯打包

2.在腳本中使用到Cloudera提供的cm_ext工具(github地址:https://github.com/cloudera/cm_ext)對生成的csd和parcel進行校驗,並通過腳本爲parcel生成manifest.json清單。

在後面的文章Fayson會介紹在CM上安裝Livy和Zeppelin及使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章