(英:http://zeppelin.apache.org/docs/snapshot/install/build.html)html
編譯Docker源碼,須要預先安裝下面的依賴軟件:node
Name | Value |
---|---|
Git | (Any Version) |
Maven | 3.1.x or higher |
JDK | 1.7 |
若是尚未安裝Git和Maven, 參考後面的編譯要求一節安裝。而後按照下面的步驟進行:python
git clone https://github.com/apache/zeppelin.git
執行下面的maven命令進行編譯:git
mvn clean package -DskipTests [Options]
有的版本編譯不成功,改用install就能夠:mvn install -Pbuild-distr -Drat.skip -DskipTestsgithub
參數「-Drat.skip -DskipTests」主要是由於rat和一些測試暫時編譯通不過。web
若是使用代理,加上下面的選項:apache
-Dhttp.proxyHost=<host> -Dhttp.proxyPort=<port> -Dhttps.proxyHost=<host> -Dhttps.proxyPort=<port>
或者使用下面方法設置參數(sock5代理-ssh tunnel):npm
set MAVEN_OPTS="-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=$PORT"
若是使用http代理,改成:api
set MAVEN_OPTS="-Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=$PORT"
使用https帶來的話,將http改成https便可。bash
若是不肯定使用的參數,使用下面的參數建立官方版的安裝包:
# 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.11
編譯成功後,直接啓動:
./bin/zeppelin-daemon.sh start
更多編譯選項查看後面的內容。若是使用網絡代理, 按照 代理設置 的說明進行。
若是願意爲本項目做出貢獻,請參考:Contributing to Apache Zeppelin (Code) 和 Contributing to Apache Zeppelin (Website).
編譯支持特定版本的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)
-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 -DskipTests
Ignite Interpreter
mvn clean package -Dignite.version=1.8.0 -DskipTests
Scalding Interpreter
mvn clean package -Pscalding -DskipTests
若是相關依賴軟件尚未的話,就先安裝一下。(不一樣的操做系統會有不一樣,下面以 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
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"
若是你的網絡在代理以後, 你須要配置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
.
對最終的分發版打包,包括壓縮文檔:
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