Spark源码编译安装

环境
apache-maven-3.3.9-bin.tar.gz
scala-2.11.8.tgz
jdk-8u91-linux-x64.tar.gz
spark-2.2.0.tgz
编译
  • spark源码目录下的pom.xml
vi pom.xml
添加如下内容:
<!--CDH仓库cloudera社区-->
<repository>
    <id>cloudera</id>
    <name>cloudera Repository</name>
    <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
</repository>

一定要放在原始仓库的下方

 <repository>
      <id>central</id>
      <!-- This should be at top, it makes maven try the central repo first and then others and hence faster dep resolution -->
      <name>Maven Repository</name>
      <url>https://repo1.maven.org/maven2</url>
      <releases>
        <enabled>true</enabled>
      </releases>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>

    <repository>
        <id>cloudera</id>
        <name>cloudera Repository</name>
        <url>https://repository.cloudera.com/artifactory/cloudera-repos</url>
    </repository>
  • 编译太慢,修改dev/make-distribution.sh内容
    将上面的版本检测注释,直接替换成我们当前对应软件的版本
#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 "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)

VERSION=2.2.0
SCALA_VERSION=2.11
SPARK_HADOOP_VERSION=2.6.0-cdh5.7.0
SPARK_HIVE=1 #表示启用HIVE
  • 在源码文件下执行编译命令
./dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz -Pyarn -Phive -Phive-thriftserver -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.7.0 -Dskiptests clean package

# --name 2.6.0-cdh5.7.0 指定编译后包名
# --tgz 编译后包名进行压缩
# -Pyarn 指定yarn文件生效,这儿的yarn版本是指spark源码中指定的yarn版本(默认不支持yarn)
# -Phive -Phive-thriftserver 指定hive文件生效,这儿的hive版本是指spark源码中指定的hive版本(默认不支持hive和JDBC)
# -Phadoop-2.6 -Dhadoop.version=2.6.0-cdh5.7.0 
#  由于我们不想用spark源码中指定的hadoop,故这儿我们指定特定的hadoop版本
# -Dskiptests 跳过测试
# clean package 清除之前编译产生的文件
  • 编译后的tgz包就在当前spark源码路径下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值