Zeppelin-源码编译
2019獨角獸企業重金招聘Python工程師標準>>>
Zeppelin源碼編譯
(英:http://zeppelin.apache.org/docs/snapshot/install/build.html)
編譯Docker源碼,需要預先安裝下面的依賴軟件:
| Git | (Any Version) |
| Maven | 3.1.x or higher |
| JDK | 1.7 |
一、編譯步驟
如果還沒有安裝Git和Maven, 參考后面的編譯要求一節安裝。然后按照下面的步驟進行:
1. 復制源碼
git clone https://github.com/apache/zeppelin.git2. 編譯源碼
執行下面的maven命令進行編譯:
mvn clean package -DskipTests [Options]有的版本編譯不成功,改用install就可以:mvn install -Pbuild-distr -Drat.skip -DskipTests
參數“-Drat.skip -DskipTests”主要是因為rat和一些測試暫時編譯通不過。
>>使用代理設置
如果使用代理,加上下面的選項:
-Dhttp.proxyHost=<host> -Dhttp.proxyPort=<port> -Dhttps.proxyHost=<host> -Dhttps.proxyPort=<port>或者使用下面方法設置參數(sock5代理-ssh tunnel):
set MAVEN_OPTS="-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=$PORT"如果使用http代理,改為:
set MAVEN_OPTS="-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=$PORT"使用https帶來的話,將http改為https即可。
如果不確定使用的參數,使用下面的參數創建官方版的安裝包:
# update all pom.xml to use scala 2.11 ./dev/change_scala_version.sh 2.11 # build zeppelin with all interpreters and include latest version of Apache spark support for local mode. mvn clean package -DskipTests -Pspark-2.0 -Phadoop-2.4 -Pyarn -Ppyspark -Psparkr -Pr -Pscala-2.113. 啟動Zeppelin
編譯成功后,直接啟動:
./bin/zeppelin-daemon.sh start更多編譯選項查看后面的內容。如果使用網絡代理, 按照 代理設置 的說明進行。
如果愿意為本項目作出貢獻,請參考:Contributing to Apache Zeppelin (Code) 和 Contributing to Apache Zeppelin (Website).
二、編譯選項
Spark Interpreter
編譯支持特定版本的Spark、Hadoop和特行,通過指定參數實現。指定下面的參數:
-Pspark-[version]
指定Spark的特定版本,可用的設置參數包括:
-Pspark-2.1 -Pspark-2.0 -Pspark-1.6 -Pspark-1.5 -Pspark-1.4 -Pcassandra-spark-1.5 -Pcassandra-spark-1.4 -Pcassandra-spark-1.3 -Pcassandra-spark-1.2 -Pcassandra-spark-1.1還可以指定小版本號,如 -Dspark.version=x.x.x
-Phadoop-[version]
指定hadoop的祝版本號,可用參數包括:
-Phadoop-0.23 -Phadoop-1 -Phadoop-2.2 -Phadoop-2.3 -Phadoop-2.4 -Phadoop-2.6 -Phadoop-2.7小版本號指定 -Dhadoop.version=x.x.x
-Pscala-[version] (optional)
設置 scala 版本 (缺省 2.10) ,可用參數包括:
-Pscala-2.10 -Pscala-2.11-Pyarn (optional)
開啟 YARN 的 local mode支持
YARN for local mode is not supported for Spark v1.5.0 or higher. Set SPARK_HOME instead.
-Ppyspark (optional)
開啟 PySpark 支持 local mode.
-Pr (optional)
開啟 R 支持,整合 SparkR 。
-Psparkr (optional)
另一個 R 支持,通過SparkR 整合,支持local mode。
-Pvendor-repo (optional)
開啟第三方軟件庫 (cloudera)
-Pmapr[version] (optional)
對于 MapR Hadoop 分發版, 這些參數將處理 Hadoop 版本。 像MapR 允許不同的Spark安裝,你可以指定需要安裝那一個Spark版本(-Pspark-1.6, -Pspark-2.0, etc.) 。 正確的Maven artifacts 對應的 MapR 在 http://doc.mapr.com。
可用參數包括:
-Pmapr3 -Pmapr40 -Pmapr41 -Pmapr50 -Pmapr51-Pexamples (optional)
編譯zeppelin-examples 目錄下的例子。
編譯命令示例
下面是一些編譯指令的示例:
# build with spark-2.1, scala-2.11 ./dev/change_scala_version.sh 2.11 mvn clean package -Pspark-2.1 -Phadoop-2.4 -Pyarn -Ppyspark -Psparkr -Pscala-2.11 -DskipTests# build with spark-2.0, scala-2.11 ./dev/change_scala_version.sh 2.11 mvn clean package -Pspark-2.0 -Phadoop-2.4 -Pyarn -Ppyspark -Psparkr -Pscala-2.11 -DskipTests# build with spark-1.6, scala-2.10 mvn clean package -Pspark-1.6 -Phadoop-2.4 -Pyarn -Ppyspark -Psparkr -DskipTests# spark-cassandra integration mvn clean package -Pcassandra-spark-1.5 -Dhadoop.version=2.6.0 -Phadoop-2.6 -DskipTests -DskipTests# with CDH mvn clean package -Pspark-1.5 -Dhadoop.version=2.6.0-cdh5.5.0 -Phadoop-2.6 -Pvendor-repo -DskipTests# with MapR mvn clean package -Pspark-1.5 -Pmapr50 -DskipTestsIgnite Interpreter
mvn clean package -Dignite.version=1.8.0 -DskipTestsScalding Interpreter
mvn clean package -Pscalding -DskipTests三、Build 要求
安裝依賴軟件
如果相關依賴軟件還沒有的話,就先安裝一下。(不同的操作系統會有不同,下面以 Ubuntu 為例)
sudo apt-get update sudo apt-get install git sudo apt-get install openjdk-7-jdk sudo apt-get install npm sudo apt-get install libfontconfig安裝 maven
wget http://www.eu.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz sudo tar -zxf apache-maven-3.3.9-bin.tar.gz -C /usr/local/ sudo ln -s /usr/local/apache-maven-3.3.9/bin/mvn /usr/local/bin/mvn注意:
- 確保node安裝,測試 node --version
- 確保 maven 版本3.1.x 或以上,測試 mvn -version
- 配置maven 使用更多的內存 export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=1024m"
四、代理設置(optional)
如果你的網絡在代理之后, 你需要配置maven和npm使用代理穿越訪問服務。
首先,配置 maven。修改 ~/.m2/settings.xml.
<settings><proxies><proxy><id>proxy-http</id><active>true</active><protocol>http</protocol><host>localhost</host><port>3128</port><!-- <username>usr</username><password>pwd</password> --><nonProxyHosts>localhost|127.0.0.1</nonProxyHosts></proxy><proxy><id>proxy-https</id><active>true</active><protocol>https</protocol><host>localhost</host><port>3128</port><!-- <username>usr</username><password>pwd</password> --><nonProxyHosts>localhost|127.0.0.1</nonProxyHosts></proxy></proxies> </settings>然后, 配置 npm:
npm config set proxy http://localhost:3128 npm config set https-proxy http://localhost:3128 npm config set registry "http://registry.npmjs.org/" npm config set strict-ssl false配置 git,同樣辦法:
git config --global http.proxy http://localhost:3128 git config --global https.proxy http://localhost:3128 git config --global url."http://".insteadOf git://設置bower proxy,打開/zeppelin-web下的.bowerrc文件,加入下面的內容:
"proxy" : "http://localhost:9999",
? "https-proxy" : "http://localhost:9999",
? "strict-ssl": false
清除, 設置 active false 在Maven settings.xml 中,并運行命令:
npm config rm proxy npm config rm https-proxy git config --global --unset http.proxy git config --global --unset https.proxy git config --global --unset url."http://".insteadOf注意:
- 如果在 NTLM 代理后使用 Cntlm Authentication Proxy.
- 替換 localhost:3128 ,使用標準的模式 http://user:pwd@host:port.
五、打包-Package
對最終的分發版打包,包括壓縮文檔:
mvn clean package -Pbuild-distr針對特定參數構建分發版,運行:
mvn clean package -Pbuild-distr -Pspark-1.5 -Phadoop-2.4 -Pyarn -Ppyspark這里的 -Pspark-1.5 -Phadoop-2.4 -Pyarn -Ppyspark can 可以根據Spark的版本予以調整。產生出的包在 zeppelin-distribution/target目錄下。
運行端到端測試:
Zeppelin 帶有一系列的測試,驅動 headless selenium browser。
# assumes zeppelin-server running on localhost:8080 (use -Durl=.. to override) mvn verify# or take care of starting/stoping zeppelin-server from packaged zeppelin-distribuion/target mvn verify -P using-packaged-distr?
轉載于:https://my.oschina.net/u/2306127/blog/861755
總結
以上是生活随笔為你收集整理的Zeppelin-源码编译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring点滴二:Spring Bea
- 下一篇: 重装IIS的要点