spark standalone模式 zeppelin安裝

1.  前置條件html

None root accountjava

Apache Mavennode

Java 1.7git

2. 源碼github

   https://github.com/apache/incubator-zeppelinweb

   git clone https://github.com/apache/incubator-zeppelinsql

3. 編譯apache

本地模式:mvn clean package -DskipTestsnpm

集羣模式:  mvn clean package -Pspark-1.4 -Dspark.version=1.4.1 -Dhadoop.version=2.3.0-cdh5.1.0 -Phadoop-2.3 -DskipTestsjson

 

在安裝過程當中 可能會出現各類問題,可是通常都是網絡問題致使,但可從新執行下編譯命令,若是編譯出現oom,增長以下命令:

export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m

 

可是在編譯zeppelin-web模塊 會遇到各類詭異的問題,web模塊使用了node, grunt, bower工具

修改zeppelin-web項目的pom.xml

[html] view plaincopy

 

  1. <plugin>  

  2.         <groupId>com.github.eirslett</groupId>  

  3.         <artifactId>frontend-maven-plugin</artifactId>  

  4.         <version>0.0.23</version>  

  5.         <executions>  

  6.   

  7.   

  8.           <execution>  

  9.             <id>install node and npm</id>  

  10.             <goals>  

  11.               <goal>install-node-and-npm</goal>  

  12.             </goals>  

  13.             <configuration>  

  14.               <nodeVersion>v0.10.18</nodeVersion>  

  15.               <npmVersion>1.3.8</npmVersion>  

  16.             </configuration>  

  17.           </execution>  

  18.           <execution>  

  19.             <id>npm install</id>  

  20.             <goals>  

  21.               <goal>npm</goal>  

  22.             </goals>  

  23.           </execution>  

  24.   

  25.   

  26.           <execution>  

  27.             <id>bower install</id>  

  28.             <goals>  

  29.                 <goal>bower</goal>  

  30.             </goals>  

  31.             <configuration>  

  32.               <arguments>--allow-root install</arguments>  

  33.             </configuration>  

  34.           </execution>  

  35.   

  36.   

  37.           <execution>  

  38.             <id>grunt build</id>  

  39.             <goals>  

  40.                 <goal>grunt</goal>  

  41.             </goals>  

  42.             <configuration>  

  43.               <arguments>--no-color --force</arguments>  

  44.             </configuration>  

  45.           </execution>  

  46.         </executions>  

  47.     </plugin>  



 

有網友推薦我這樣作,但感受沒啥效果

nodeVersion & npmVersion 版本分別改爲v0.12.4,2.10.1,但我感受用處不大

 

[html] view plaincopy

 

  1.    

  2. <configuration>  

  3.   <nodeVersion>v0.12.4</nodeVersion>  

  4.   <npmVersion>2.10.1</npmVersion>  

  5. </configuration>  

 

安裝順序: 
1. 首先須要提早安裝好npm和node。 sudo apt-get install npm和npm install -g node。 
2. 進入zeppelin-web目錄下,執行 npm install。它會根據package.json的描述安裝一些grunt的組件,安裝bower,而後再目錄下生產一個node_modules目錄。 
3. 執行 bower -–alow-root install,會根據bower.json安裝前段庫依賴,有點相似於java的mvn。見http://bower.io/ 
4. 執行 grunt –force,會根據Gruntfile.js整理web文件。 
5. 最好執行 mvn install -DskipTests,把web項目打包,在target目錄下會生成war。


mvn可能會出錯,由於web.xml不在默認路徑下,須要在pom.xml裏添加:

[html] view plaincopy

 

  1. <plugin>  

  2.         <groupId>org.apache.maven.plugins</groupId>  

  3.         <artifactId>maven-war-plugin</artifactId>  

  4.         <configuration>  

  5.           <webXml>app\WEB-INF\web.xml</webXml>  

  6.         </configuration>  

  7. </plugin>  



 

4. 配置
進入zeppelin_home/conf/
將 zeppelin-env.sh.template 修改成 zeppelin-env.sh
將 zeppelin-site.xml.template 修改成 zeppelin-site.xml


   編譯zeppelin-site.xml文件,
zeppelin.server.port 端口改爲8089

[html] view plaincopy

 

  1. <property>  

  2.   <name>zeppelin.server.port</name>  

  3.   <value>8089</value>  

  4.   <description>Server port. port+1 is used for web socket.</description>  

  5. </property>  





我如今使用僞分佈式模式,因此就不修改 zeppelin-env.sh文件中 MASTER,使用默認配置,即爲local模式
若是要是使用spark standalone 分佈式模式,那就改爲以下
export MASTER=spark://master:7077

 

5. 啓動

 在zeppelin_home目錄下執行以下命令:
bin/zeppelin-daemon.sh start

 

Pid dir doesn't exist, create /home/cluster/apps/incubator-zeppelin-0.5.0/run
Zeppelin start                                             [  OK  ]

 

啓動成功~

 


能夠在localhost:8089 訪問到zepplin主頁了。若是沒有出主頁,能夠看瀏覽器console,是缺乏了什麼文件,八成是web項目打包的時候漏了,極可能是bower和grunt命令執行的時候缺乏依賴出錯的。

 

主界面:


 

 

    zeppelin home目錄下會看到一個notebook文件夾,按notebook的名字命名區分了多個子目錄。目錄下是一個note.json文件,記錄了每一個notebook裏輸入的代碼和執行結果,啓動的時候會加載起來。

 

6.測試

  zeppelin爲spark作了更好的支持,好比默認是scala環境,默認sc已經建立好,即spark local可跑,默認spark sql有可視化效果。

  

 

經過標識%md, %sh, %sql, %spark, %hive, %tajo來區分要執行的是什麼,默認不寫的話,執行環境是scala。在 http://127.0.0.1:8089/#/interpreter 頁面裏有詳細的參數說明。

 

 

 

   

 簡單測試下 %sh,scala,%spark

 

  

 好吧 ,先搞到這吧,稍後會有一篇 關於詳細使用zeppelin 以及 zeppelin on yarn方式編譯

 

尊重原創,拒絕轉載

相關文章
相關標籤/搜索