大数据大数据

Zeppelin 0.9 版本升级之源码编译

2021-09-26  本文已影响0人  六层楼那么高

Zeppelin 0.9 升级之源码编译

首先可以参考官方文档:
https://zeppelin.apache.org/docs/latest/setup/basics/how_to_build.html#run-end-to-end-tests

最开始,如果是打一个完整的包含所有模块的可运行的 tar 包,用 maven 命令:
mvn clean package -Pbuild-distr -DskipTests
之后,如果只需要单独对某个模块编译可以使用命令:
mvn clean package -DskipTests -pl zeppelin-server
由于 Zeppelin 项目模块众多,整个编译打包过程较为耗时,中途也出现了不少问题:

1.部分依赖源下载慢的问题

spark flink 的包比较大,几百兆,可以将官方 apache 地址清华的源:

  1. rlang/pom.xml
  1. spark/pom.xml
  1. flink/pom.xml

当然如果有必要也可以使用科学上网,配置git npm IDEA 等组件的代理,配置方式具体参考官网文档,例如 git :

git config --global http.proxy http://localhost:1080
git config --global https.proxy http://localhost:1080
git config --global url."http://".insteadOf git://

npm 代理配置:

npm config set proxy http://localhost:1080
npm config set https-proxy http://localhost:1080
npm config set registry "http://registry.npmjs.org/"
npm config set strict-ssl false

2. maven git-commit-id-plugin 这步很慢

将以下参数改为 true:
<plugin.gitcommitid.useNativeGit>true</plugin.gitcommitid.useNativeGit>
Zeppeline 默认值 false, 改为 true 使用系统的 git,而不是内置的 jGit,具体还不清楚 jGit 慢的原因,修改之后就不会在这一步卡了,实在不行也可以把这个 git-commit-id-plugin plugin 注释掉。

这个是 maven git 插件,可以将包的 git 信息打到指定目录

<plugin>
        <groupId>pl.project13.maven</groupId>
        <artifactId>git-commit-id-plugin</artifactId>
        <version>${plugin.git.commit.id.version}</version>
        <executions>
          <execution>
            <goals>
              <goal>revision</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <skipPoms>false</skipPoms>
          <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
          <useNativeGit>${plugin.gitcommitid.useNativeGit}</useNativeGit>
          <generateGitPropertiesFile>true</generateGitPropertiesFile>
          <generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
          <failOnNoGitDirectory>false</failOnNoGitDirectory>
          <dateFormat>yyyy-MM-dd HH:mm:ss</dateFormat>
        </configuration>
</plugin>

3. zeppelin-web 编译

建议参考官方文档:https://github.com/apache/zeppelin/tree/master/zeppelin-web

Zeppelin 前端编译耗时也很长,编译中途出现了不少报错,例如:

报错 1:error Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style
修复:在 .eslintrc 文件 rules 里面 配置 "linebreak-style": [0 ,"error", "windows"],

报错 2:error Expected indentation of 10 spaces but found 8 indent
修复:修改 .eslintrc.js 文件 rules 字段下增加 "indent": ["off", 2]

上一篇下一篇

猜你喜欢

热点阅读