企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 从源码编译 原文链接 : [http://zeppelin.apache.org/docs/0.7.2/install/build.html](http://zeppelin.apache.org/docs/0.7.2/install/build.html) 译文链接 : [http://www.apache.wiki/pages/viewpage.action?pageId=10030615](http://www.apache.wiki/pages/viewpage.action?pageId=10030615) 贡献者 : [片刻](/display/~jiangzhonglian) [ApacheCN](/display/~apachecn) [Apache中文网](/display/~apachechina) 如果要从源代码构建,则必须先安装以下依赖项: | Name | Value | | --- | --- | | Git | (Any Version) | | Maven | 3.1.x or higher | | JDK | 1.7 | 如果您还没有安装Git和Maven,请查看“ [构建要求”](http://zeppelin.apache.org/docs/0.7.1/install/build.html#build-requirements)部分,并按照步骤说明进行操作。 **1. 克隆Apache Zeppelin存储库** ``` git clone https://github.com/apache/zeppelin.git ``` **2\. 源码编译** 您可以使用以下maven命令构建Zeppelin: ``` mvn clean package -DskipTests [Options]  ```  如果您不确定选项,请使用相同的命令来创建官方二进制包。 ``` # 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  ``` 检查[构建配置文件](http://zeppelin.apache.org/docs/0.7.1/install/build.html#build-profiles)部分以获取进一步的构建选项。如果您在代理服务器后面,请按照[代理设置](http://zeppelin.apache.org/docs/0.7.1/install/build.html#proxy-setting-optional)部分中的说明进行操作。 如果您对贡献感兴趣,请检查[贡献Apache Zeppelin(代码)](http://zeppelin.apache.org/docs/0.7.1/development/howtocontribute.html)和[贡献Apache Zeppelin(网站)](http://zeppelin.apache.org/docs/development/contributewebsite.html)。 ## 构建配置文件 Spark 解释器 要使用特定的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` (可选的)** 启用对本地模式的YARN支持 ``` Spark v1.5.0或更高版本不支持YARN用于本地模式。设置SPARK_HOME代替  ``` ** `-Ppyspark` (可选的)** 启用[PySpark](http://spark.apache.org/docs/latest/api/python/)支持本地模式。 **`-Pr` (可选的)** 使用[SparkR](https://spark.apache.org/docs/latest/sparkr.html)集成启用[R](https://www.r-project.org/)支持。 **`-Psparkr` (可选的)** 另一个[R](https://www.r-project.org/)支持与[SparkR](https://spark.apache.org/docs/latest/sparkr.html)集成以及本地模式支持。 **`-Pvendor-repo` (可选的)** 启用第三方供应商存储库(cloudera) **`-Pmapr[version]` (可选的)** 对于MapR Hadoop Distribution,这些配置文件将处理Hadoop版本。至于MAPR允许安装不同版本星火的,则应该通过添加一个Spark的个人资料(指定星火的版本安装在群集上`-Pspark-1.6`,`-Pspark-2.0`根据需要,等等)。可以在[http://doc.mapr.com的每个版本的MapR找到正确的Maven工件](http://doc.mapr.com的每个版本的MapR找到正确的Maven工件) 可用的配置文件是 ``` -Pmapr3 -Pmapr40 -Pmapr41 -Pmapr50 -Pmapr51  ``` -Pexamples(可选) 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 解释器 ``` mvn clean package -Dignite.version=1.9.0 -DskipTests ```  Scalding 解释器 ``` 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  ``` ### 安装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 --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:// ``` 要清理,`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身份验证代理](http://cntlm.sourceforge.net/)。- 用`localhost:3128`标准图案替换`[http://user:pwd@host:port](http://user:pwd@hostport)`。 ## 包 要打包包含压缩归档的最终发行版,请运行: ``` 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`如果您希望构建特定的火花版本,或者省略支持,可以调整配置文件`yarn`。 存档在目录下_`zeppelin-distribution/target`_生成 ## 运行端到端测试 Zeppelin提供了一套端到端验收测试,运行headless selenium浏览器 ``` # 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  ``` [Analytics](https://github.com/igrigorik/ga-beacon)