2019独角兽企业重金招聘Python工程师标准>>>

Zeppelin源码编译

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

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

Name Value
Git (Any Version)
Maven 3.1.x or higher
JDK 1.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

Zeppelin-源码编译相关推荐

  1. Zeppelin源码编译指南

    依赖安装及配置 操作系统:ubuntu 20.04 CPU架构:x86_64 安装依赖: sudo apt-get update sudo apt-get install git openjdk-8- ...

  2. zeppelin源码分析(1)——编译、调试和maven modules分析

    Zeppelin,于2016-5-18日从Apache孵化器项目毕业成为Apache顶级项目,采用Java(主要)+Scala+R+PythonR+Bash+JS混合开发,采用maven作为build ...

  3. java调用clang编译的so_写Java这么久,JDK源码编译过没?编译JDK源码踩坑纪实

    好奇害死羊 很多小伙伴们做Java开发,天天写Java代码,肯定离不开Java基础环境:JDK,毕竟我们写好的Java代码也是跑在JVM虚拟机上. 一般来说,我们学Java之前,第一步就是安装JDK环 ...

  4. 5单个编译总会编译全部_玩转Android10(五)源码编译开发中常用命令

    源码开发编译中,熟练掌握常用命令,可以提高开发工作效率.Android源码中,将相关的命令分为如下几类: 1.初始化源码编译环境 初始化编译环境,为后续提供如lunch.make.xxgrep.god ...

  5. mono和monodevelop源码编译安装

    之所以用源码编译的方式安装mono和monodevelop,是因为通过yum安装的mono不是最新版本,而且monodevelop不能建 asp.net MVC3的工程. 而且通过源码安装,可以进一步 ...

  6. nginx源码编译、负载均衡及模块的扩展

    1.nginx源码编译 实验环境: iptables和selinux关闭 redhat6.5 nginx:test1: 172.25.1.11 [root@test1 ~]# ls nginx-1.1 ...

  7. mac通过tree源码编译安装tree

    通过tree源码编译安装  下载源码:curl -O ftp://mama.indstate.edu/linux/tree/tree-1.6.0.tgz  解压源码:tar xzvf tree-1.6 ...

  8. 干货|TensorFlow开发环境搭建(Ubuntu16.04+GPU+TensorFlow源码编译)

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习算法工程师 安装平台 1 平台 目前Tensor ...

  9. Nginx 源码编译安装

    Nginx 源码编译安装环境 Centos7 Nginx1.8.1    下载地址:http://nginx.org/download/ 选择自己想要的版本 我这边使用1.8.1,下载地址:http: ...

  10. 基本lnmp平台的搭建(源码编译)

    lnmp :linux ,nginx ,mysql ,php 系统环境:rhel6.0    selinux and iptables disabled  (这里我们都只用源码编译的方式) 1 ste ...

最新文章

  1. PP模块快速入门之功能简介(二)
  2. C标准中一些预定义的宏,如__FILE__,__func__等
  3. 同步现象 心理学_非心理专业背景的人,如何成为心理学家或心理咨询师?
  4. AutoLayout 浅析动画
  5. InceptionV2----Batch Normalization层
  6. oracle透明网关 中文,Oracle透明网关的一些文章
  7. 统计学习方法-李航(3)
  8. Docker核心技术之联合文件系统
  9. mysql5.7下载及详细安装教程_MySQL 5.7 下载及安装教程(详细)
  10. 题目1131:合唱队形(最长递增子序列进阶)
  11. python读写excel表格_Python读写Excel表格(简单实用)
  12. 简易呼吸灯c语言程序,51单片机(呼吸灯)C语言版
  13. 如何用ESP32+LVGL实现给路由器加装屏幕
  14. Digester基本用法
  15. deecamp考试题
  16. HarmonyOS第三方组件——鸿蒙图片裁剪组件ohos-Image-Cropper
  17. 优质的草图大师素材 草图66!
  18. 细说华为和荣耀的关系:潮流的荣耀和稳重的华为
  19. Android查询AirPods电量,安卓手机查看AirPods电量的方法
  20. HUAWEI 机试题:字符串的解压缩

热门文章

  1. 中标麒麟linux系统忘记root密码,中标麒麟(龙芯CPU)--忘记root密码怎么修改?
  2. 扫雷游戏网页版_做游戏,单人行动可行吗(3.让我试试扫雷)
  3. python控制电脑关机_Python利用智能音箱语音控制电脑开关机
  4. 学python的前提_Python语言学习前提:条件语句
  5. redis 连接池_SpringBoot整合redis
  6. html5 jquery paint plugin,制作高质量的JQuery Plugin 插件的方法
  7. html5调盒子边框大小,CSS3 - 盒子大小(CSS3 - Box Sizing)
  8. 台式电脑cpu排行榜_台式电脑CPU性能天梯图 AMD性能首次反超intel
  9. mysql 定时脚本_MySQL定时执行脚本(计划任务)命令实例
  10. 作业帮电脑版在线使用_互助作业帮PC版-互助作业帮电脑版下载 v4.5.8