Zeppelin-源码编译

Zeppelin源码编译

(英:http://zeppelin.apache.org/docs/snapshot/install/build.html

编译Docker源码,需要预先安装下面的依赖软件:

NameValue
Git(Any Version)
Maven3.1.x or higher
JDK1.7

一、编译步骤

如果还没有安装Git和Maven, 参考后面的编译要求一节安装。然后按照下面的步骤进行:

1. 复制源码
git clone https://github.com/apache/zeppelin.git
2. 编译源码

执行下面的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.11
3. 启动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 -DskipTests

Ignite Interpreter

mvn clean package -Dignite.version=1.8.0 -DskipTests

Scalding 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值