Zeppelin介紹
Apache Zeppelin提供了web版的類似ipython的notebook,用于做數據分析和可視化。背后可以接入不同的數據處理引擎,包括Spark,?Hive, tajo等,原生支持Scala,?Java, shell, markdown等。它的整體展現和使用形式和Databricks Cloud是一樣的,就是來自于當時的demo。
Zeppelin可實現你所需要的:?
- 數據采集?
- 數據發現?
- 數據分析?
- 數據可視化和協作
支持多種語言,默認是scala(背后是spark shell),SparkSQL, Markdown 和 Shell。?
?
甚至可以添加自己的語言支持。如何寫一個zeppelin解釋器
Zeppelin特性
Apache Spark 集成
Zeppelin 提供了內置的?Apache Spark?集成。你不需要單獨構建一個模塊、插件或者庫。?
Zeppelin的Spark集成提供了:?
- 自動引入SparkContext 和 SQLContext?
- 從本地文件系統或maven庫載入運行時依賴的jar包。更多關于依賴載入器?
- 可取消job 和 展示job進度
數據可視化
一些基本的圖表已經包含在Zeppelin中。可視化并不只限于SparkSQL查詢,后端的任何語言的輸出都可以被識別并可視化。?
Bank?
動態表格?
Zeppelin 可以在你的筆記本中動態地創建一些輸入格式。?
協作?
Notebook 的 URL 可以在協作者間分享。 Zeppelin 然后可以實時廣播任何變化,就像在 Google docs 中一樣。?
發布?
Zeppelin提供了一個URL用來僅僅展示結果,那個頁面不包括Zeppelin的菜單和按鈕。這樣,你可以輕易地將其作為一個iframe集成到你的網站。?
Zeppelin的安裝部署
由于Zeppelin目前不提供binary安裝包,所以這里Zeppelin的安裝需要自己編譯。?
這里可以參考Zeppelin Github和Install Zeppelin
準備工作
需要?
Java?1.7?
Tested on Mac OSX, Ubuntu 14.X, CentOS 6.X?
Maven (if you want to build from the source code)?
Node.js?Package Manager
在Ubuntu環境下可以這樣安裝:
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
注意:這里的maven工具如果不是最新的源的話,可能只是maven2,zeppelin的編譯需要maven3,不然一些工具的下載會受到影響,可以從maven官網下載二進制壓縮包,直接使用。?
這里還需要node命令,apt-get安裝npm時候會自動安裝nodejs命令,這里只需要建立一個鏈接就可以:sudo ln -s /usr/bin/nodejs /usr/bin/node
zeppelin-web項目的安裝配置
我在之前對zeppelin整個項目進行maven部署的時候總是出現zeppelin-web項目的失敗,不得其解,參照網上的方法,對zeppelin-web項目進行單獨的安裝配置。?
這里每一步都很關鍵,我在這里的配置安裝折騰了很多次,最終才能正常的完成安裝,下面一一道來。
刪除zeppelin-web項目的pom.xml下面給出的內容,換做手動安裝:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
手動安裝步驟:?
1. 安裝好npm和node?
2. 進入zeppelin-web目錄下,執行npm install
。它會根據package.json的描述安裝一些grunt的組件,安裝bower,然后再目錄下生產一個node_modules目錄。?
3. 執行bower –-allow-root install
,會根據bower.json安裝前段庫依賴,有點類似于java的mvn。?
4. 執行grunt --no-color –-force
,會根據Gruntfile.js整理web文件。?
第3、4步要注意,本來給定的bower和grunt文件中使用的"node/node"
命令,因為使用maven自動安裝時,會在當前目錄下生成node目錄,其中包含node命令。我們之前已經安裝了nodejs命令,并新鏈接了命令node,所以這里需要將其修改為"node"
。?
5. 執行mvn install -DskipTests
,把web項目打包,在target目錄下會生成war?
pom.xml在生成war包的時候,要參照dist\WEB-INF\web.xml
文件,所以在執行該步驟之前,要明確zeppelin-web目錄下由dist目錄,才能最終生成正確的war包。
其他zeppelin項目的編譯
其他項目的編譯依照正常程序進行就可以,安裝文檔:http://zeppelin.incubator.apache.org/docs/install/install.html
根據自己的方式進行編譯:?
Local mode:?
mvn install -DskipTests
?
Cluster mode:?
mvn install -DskipTests -Dspark.version=1.1.0 -Dhadoop.version=2.2.0
配置
配置文件為環境變量文件(conf/zeppelin-env.sh)和Java屬性文件(conf/zeppelin-site.xml)。根據自己的要求進行配置。
啟動、關閉
啟動、關閉Zeppelin進程命令為:?
bin/zeppelin-daemon.sh start
?
bin/zeppelin-daemon.sh stop
參考資料
Apache Zeppelin安裝及介紹
轉載請注明作者Jason Ding及其出處?
GitCafe博客主頁(http://jasonding1354.gitcafe.io/)?
Github博客主頁(http://jasonding1354.github.io/)?
CSDN博客(http://blog.csdn.net/jasonding1354)?
簡書主頁(http://www.jianshu.com/users/2bd9b48f6ea8/latest_articles)?
Google搜索jasonding1354進入我的博客主頁
-------------
更多的Java,Angular,Android,大數據,J2EE,Python,數據庫,Linux,Java架構師,:
http://www.cnblogs.com/zengmiaogen/p/7083694.html