Spark的学习1-编译

这两天开始学Spark, 因此把相应的步骤记录下来.

下载最新的Spark代码,使用maven进行编译在win8(64位)上进行编译:
(参考https://spark.apache.org/docs/latest/building-with-maven.html)

现在Spark主要以Standalone方式或Spark on yarn方式运行,因此在使用maven构建时,使用以下参数
mvn -Pyarn -Phadoop-2.3 -Dhadoop.version=2.3.0 -DskipTests clean package

问题1: unzip not found
解决方案: 安装cygwin和unzip包, 并设置unzip.exe的搜索路径(因为unzip.exe还依赖一些cygwin的文件,所以只接拷贝到unzip.exe到系统文件的方法还是有一点问题的)

可以使用set PATH=%PATH%;d:/cygwin64/bin (用实际路径进行替换),设置完成可以输入unzip,看系统是否能找得到这个exe文件。

问题2: 出现PermGen space -> [Help 1]
解决方案: 那你没有设置MAVEN_OPTS的值,应该在运行mvn命令前执行这一句:
set MAVEN_OPTS=-Xmx2g -Xms1g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m

这和在Linux上是有一点点的区别的,不要用" "把 -Xmx2g 等包起来,否则会出现如"Invalid  options ...."的错误

问题3: You have 1 Scalastyle violation(s) -编译ML Library时
解决方案: 找到 mllib\src\main\scala\org\apache\spark\mllib\optimization\Gradient.scala文件,把带有// Our loss function的两行移除即可。


整个编译过程还是比较慢的,解决了上面的几个问题,你可以专心做点别的,等它慢慢地编译完成吧。

猜你喜欢

转载自djava-sohu-com.iteye.com/blog/2136308