如何源码编译对应CDH版本的Spark2.X
2017-10-10 19:52
337 查看
前置要求:
1)Building Spark using Maven requires Maven 3.3.9 or newer and Java 7+
2)export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
mvn编译命令:
./build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests clean package
前提:需要对maven有一定的了解(pom.xml)
<properties>
<hadoop.version>2.2.0</hadoop.version>
<yarn.version>${hadoop.version}</yarn.version>
</properties>
<profile>
<id>hadoop-2.6</id>
<properties>
<hadoop.version>2.6.4</hadoop.version>
<jets3t.version>0.9.3</jets3t.version>
<zookeeper.version>3.4.6</zookeeper.version>
<curator.version>2.6.0</curator.version>
</properties>
</profile>
###分析 -D表示version -P 表示profile
./build/mvn -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.7.0 -DskipTests clean package
#推荐使用
<protobuf.version>2.5.0</protobuf.version>
./dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.7.0
注释:编译的时候修改make-distribution.sh 在120行 注释掉这些代码 这样可以加快编译速度
#VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ 2>/dev/null | grep -v "INFO" | tail -n 1)
#SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ 2>/dev/null\
# | grep -v "I#iNFO"\
# | tail -n 1)
#SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\
# | grep -v "INFO"\
# | tail -n 1)
#SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hive $@ 2>/dev/null\
# | grep -v "INFO"\
# | fgrep --count "<id>hive</id>";\
# Reset exit status to 0, otherwise the script stops here if the last grep finds nothing\
# because we use "set -o pipefail"
# echo -n)
#
编译完成后:
spark-$VERSION-bin-$NAME.tgz
spark-2.1.0-bin-2.6.0-cdh5.7.0.tgz
编译常见的问题:
1。创建失败 修改pom.xml添加clouder仓库,搜索repo修改
2.如果jdk是7的话需要修改MAVEN_OPTS
3.编译Scala是2.10之前 ./dev/change-scala-version.sh 2.10
4.如果已经被缓存了 删除报错的JAR包,xxx.lastUpdated 或者编译命令加一个参数 -U
编译线上对应版本的spark:
./dev/make-distribution.sh --name 2.6.0-cdh5.11.0 --tgz -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.11.0 -Phbase-1.2 -Dhbase.version=1.2.0-cdh5.11.0
./build/mvn -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.11.0 -DskipTests clean package
./dev/make-distribution.sh --name 2.6.0-cdh5.11.0 --tgz -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.11.0
1)Building Spark using Maven requires Maven 3.3.9 or newer and Java 7+
2)export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m"
mvn编译命令:
./build/mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests clean package
前提:需要对maven有一定的了解(pom.xml)
<properties>
<hadoop.version>2.2.0</hadoop.version>
<yarn.version>${hadoop.version}</yarn.version>
</properties>
<profile>
<id>hadoop-2.6</id>
<properties>
<hadoop.version>2.6.4</hadoop.version>
<jets3t.version>0.9.3</jets3t.version>
<zookeeper.version>3.4.6</zookeeper.version>
<curator.version>2.6.0</curator.version>
</properties>
</profile>
###分析 -D表示version -P 表示profile
./build/mvn -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.7.0 -DskipTests clean package
#推荐使用
<protobuf.version>2.5.0</protobuf.version>
./dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.7.0
注释:编译的时候修改make-distribution.sh 在120行 注释掉这些代码 这样可以加快编译速度
#VERSION=$("$MVN" help:evaluate -Dexpression=project.version $@ 2>/dev/null | grep -v "INFO" | tail -n 1)
#SCALA_VERSION=$("$MVN" help:evaluate -Dexpression=scala.binary.version $@ 2>/dev/null\
# | grep -v "I#iNFO"\
# | tail -n 1)
#SPARK_HADOOP_VERSION=$("$MVN" help:evaluate -Dexpression=hadoop.version $@ 2>/dev/null\
# | grep -v "INFO"\
# | tail -n 1)
#SPARK_HIVE=$("$MVN" help:evaluate -Dexpression=project.activeProfiles -pl sql/hive $@ 2>/dev/null\
# | grep -v "INFO"\
# | fgrep --count "<id>hive</id>";\
# Reset exit status to 0, otherwise the script stops here if the last grep finds nothing\
# because we use "set -o pipefail"
# echo -n)
#
编译完成后:
spark-$VERSION-bin-$NAME.tgz
spark-2.1.0-bin-2.6.0-cdh5.7.0.tgz
编译常见的问题:
1。创建失败 修改pom.xml添加clouder仓库,搜索repo修改
2.如果jdk是7的话需要修改MAVEN_OPTS
3.编译Scala是2.10之前 ./dev/change-scala-version.sh 2.10
4.如果已经被缓存了 删除报错的JAR包,xxx.lastUpdated 或者编译命令加一个参数 -U
编译线上对应版本的spark:
./dev/make-distribution.sh --name 2.6.0-cdh5.11.0 --tgz -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.11.0 -Phbase-1.2 -Dhbase.version=1.2.0-cdh5.11.0
./build/mvn -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.11.0 -DskipTests clean package
./dev/make-distribution.sh --name 2.6.0-cdh5.11.0 --tgz -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.11.0
相关文章推荐
- Apache spark2.1.0编译hadoop-2.6-cdh5.11.2的对应版本
- SparkSQL:如何找到与Spark版本对应的jar包
- 编译Spark2.+ 、Hadoop CDH 版本
- 编译spark源码使sparksql支持hive(cdh的)
- Spark源码的编译过程详细解读(各版本)(博主推荐)
- Spark源码的编译过程详细解读(各版本)(博主推荐)
- 如何查看uburtu下编译过的android源码版本信息
- 如何使用VC6编译sqlite3源码生成动态链接库(版本:sqlite-source-3_6_23_1)
- 如何使用VC6编译sqlite3源码生成动态链接库(版本:sqlite-source-3_6_23_1)
- mac系统如何设置输入ipython对应2.X、输入ipython3对应3.X版本python
- android4.0.4版本源码编译后如何使用
- Android源码分析(七)-----如何解决java编译版本问题
- 基于cdh5.10.x hadoop版本的apache源码编译安装spark
- 如何为visual studio各个版本编译对应的libcurl和openssl
- 【Python笔记】源码编译安装Python时,如何支持自定义安装的高版本openssl库
- 编译spark2.X源码,参数说明
- [置顶] 如何编译docker 1.2.0版本的源码
- 源码编译Spark,Hadoop 2.6.0-cdh5.7.0 版本
- 如何使用VS2015编译运行DX11版本龙书配套源码