---
title: 编译Spark
description: "在鲲鹏平台上编译Spark，并扫描生成的tar包，检查是否存在x86架构残留文件，以避免对后续功能使用造成影响。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengbds/ecosystemEnable/Spark/kunpengspark_02_0011.html
sourcePath: /source/zh/kunpengbds/ecosystemEnable/Spark/kunpengspark_02_0011.html
indexId: cbcf343faa366a9d0d91f7c18b82c8c7975c700de07ab5ecfb96662b8d739a7c69
---
# 编译Spark

在鲲鹏平台上编译Spark，并扫描生成的tar包，检查是否存在x86架构残留文件，以避免对后续功能使用造成影响。

下文以Spark 2.3.0为例描述在鲲鹏平台上编译Spark的操作步骤，其他版本的Spark也可参考此步骤，操作过程中请根据实际情况修改命令中的Spark版本号。

1. 下载Spark源码包。
  1 wget https://github.com/apache/spark/archive/v2.3.0.tar.gz

2. 解压源码包并进入解压后的源码目录。
  1 2 tar -zxf v2.3.0.tar.gz cd spark-2.3.0

3. 配置Maven仓库源。

  a. 打开pom.xml文件。
    1 vi pom.xml

  b. 按“i”进入编辑模式，在<repositories>首位置添加鲲鹏Maven仓库源。
    1 2 3 4 5 <repository> <id>kunpengmaven</id> <name>kunpeng maven</name> <url>https://mirrors.huaweicloud.com/kunpeng/maven</url> </repository>

  c. 在<pluginRepository>首位置添加华为Maven源。
    1 2 3 4 <pluginRepository> <id>huaweicloud-plugin</id> <url>https://mirrors.huaweicloud.com/repository/maven</url> </pluginRepository>

  d. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
4. 执行编译流程。
  1 dev/make-distribution.sh --tgz -Pyarn,hive,hive-thriftserver,spark

  编译完成将在源码目录下生成编译好的Spark软件包spark-2.3.0-bin-2.6.5.tgz。

  如果编译时提示Cannot find 'R_HOME'，请参见编译Spark时提示Cannot find 'R_HOME'的解决方法。

5. 使用鲲鹏应用迁移工具扫描编译生成的tar包，确保没有残留x86架构的so文件和JAR包。详细操作步骤请参见《使用鲲鹏应用迁移工具案例(https://www.hikunpeng.com/document/detail/zh/kunpengbds/ecosystemEnable/porting-tuning-devkit/kunpengprtguseda_01_0004.html)》。
  必须使用鲲鹏应用迁移工具扫描生成的tar包，验证是否残留x86架构的so文件和JAR包。如果不进行扫描，可能导致x86架构的so文件和JAR包未被发现，从而对组件的后续功能使用产生负面影响。
