如何在离线环境中编译Spark

时间:2016-05-18 18:06:32

标签: apache-spark

我有两台机器安装了相同的操作系统(RedHat 6.5 64位),但硬件配置不同。机器1(表示为M1)具有网络访问权限,机器2(表示为M2)没有网络访问权限。 M2具有更强大的硬件(例如,更多CPU内核和更多内存)。现在,我想在Spark中设置M2环境。

我从官方github存储库下载了spark-2.0.0-preview。我尝试编译它,但由于没有网络访问它不起作用。谷歌搜索后,我找到了this post。所以我转向M1来编译spark-2.0.0-preview包。编译命令为./build/mvn -DskipTests clean package。它显示BUILD SUCCESS。然后,我将整个spark-2.0.0-preview目录和~/.m2/*中的M1复制到M2中的相应位置。

M2中,我可以运行./bin/run-example SparkPi,我认为M1中的内置库也可以在M2中正常运行。但是,当我运行命令./build/mvn -DskipTests clean package尝试在M2中构建本地化库时,它显示错误:

    [info] Error occurred during initialization of VM
    [info] java.lang.Error: Properties init: Could not determine current working directory.
    [info]  at java.lang.System.initProperties(Native Method)
    [info]  at java.lang.System.initializeSystemClass(System.java:1166)
    [info] 
    [error] Compile failed at May 19, 2016 1:43:09 AM [0.425s]

我意识到如果命令中的clean导致问题。 clean表示mvn将在上一次编译期间删除临时文件。因此我尝试了另一个命令./build/mvn -DskipTests package。但错误仍然存​​在。

我有两个问题:

  1. spark-2.0.0-preview中构建的M1库是否适合M2
  2. 编译Spark时是否有任何编译命令可以保留所有临时文件?因此,我们可以简单地将所有文件复制到另一台机器中以重用它们。

0 个答案:

没有答案