SPARK 1.2.0 编译

编译的是 CDH5.3.0版本的spark,跟我们现在的hadoop(HADOOP-2.5.0-CDH5.3.0)集群匹配 ,下载地址:http://archive.cloudera.com/cdh5/cdh/5/

 

1.准备MAVEN,这是必须的,当然机器要能联网,以便MAVEN可以在线下载依赖的jar包。装maven就是下载和配置MAVEN_HOME,PATH,简单。

 

2.查看SPARK home目录的make-distribution.sh,个文件是cdh用来帮你编译和打发布包的脚本,脚本并不复杂,流程是脚本使用说明函数,识别用户传递的参数,调用maven编译打包,拷贝编译后的文件并打包(是否打包tgz是可选的,命令行加--tgz就行)。从脚本内容可以看出需要传递两种类型的参数:通用选项(--skip-java-test,--with-tachyon,--tgz,--name,--help)和maven参数。maven编译参数可以参考spark官网编译spark教程的说明文档:http://spark.apache.org/docs/1.2.1/building-spark.html,主要是指定对应的hadoop版本,以及是否包含yarn,hive等功能。

 

3.执行make-distribution.sh脚本。对于我的编译,命令如下:

./make-distribution.sh --tgz --skip-java-test -Pyarn -Phadoop-2.4 -Dhadoop.version=2.5.0-cdh5.3.0 -Phive -Phive-0.13.1-cdh5.3.0 -Phive-thriftserver -DskipTests

 

如果执行时指定了--tgz,则会在spark的home目录生成tgz格式的发布包,这个包就是最终需要的spark软件;如果未指定,则在spark home下的dist子目录里包含了未打包的spark软件,自己打包拷贝就行了。

 

扫描二维码关注公众号,回复: 553580 查看本文章

 4.拷贝生成的发布包,测试运行。只需要解压步骤三生成的tgz包就行了。应该spark on yarn是趋势,因此配在spark配置文件中配置下yarn或hadoop的配置文件地址。具体来说就是在 $YARN_HOME/conf/spark-env.sh

文件中添加:

HADOOP_CONF_DIR=/home/hadoop/cdh5/hadoop250/etc/hadoop/

YARN_CONF_DIR=/home/hadoop/cdh5/hadoop250/etc/hadoop/

HADOOP_HOME=/home/hadoop/cdh5/hadoop250/

这就是最简单的配置了,当然还有log4j和spark.conf以及metrics配置需要在正式用的时候配置优化。

接下来测试例子:

 ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-cluster --num-executors 6  --driver-memory 1g --executor-memory 2g --executor-cores 1 lib/spark-examples*.jar 5

执行没问题就可以正式优化使用了。

 

 

猜你喜欢

转载自zhangxiong0301.iteye.com/blog/2192489