---
title: 安装SparkExtension
description: "OmniOperator算子加速特性支持Spark引擎，需在管理节点和所有计算节点安装Spark引擎，并配置openEuler操作系统的SparkExtension依赖。用户根据需求安装与Spark版本相对应的SparkExtension，例如Spark 3.1.1对应SparkExtension 3.1.1。可通过spark-shell --version命令查询Spark版本。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/250RC1/bds/kunpengbds_omniruntime_20_0218.html
sourcePath: /source/zh/kunpengboostkithistory/250RC1/bds/kunpengbds_omniruntime_20_0218.html
indexId: 896bf0b8664b17689a53b7dae2206594775cda551f72912ecf26701788c49c1880
---
# 安装SparkExtension

OmniOperator算子加速特性支持Spark引擎，需在管理节点和所有计算节点安装Spark引擎，并配置openEuler操作系统的SparkExtension依赖。用户根据需求安装与Spark版本相对应的SparkExtension，例如Spark 3.1.1对应SparkExtension 3.1.1。可通过spark-shell --version命令查询Spark版本。

OmniOperator算子加速安装所需Spark引擎扩展包和OmniOperator算子加速运行时所依赖的库文件详情如表3所示。

#### 安装SparkExtension 3.1.1

1. 安装Spark引擎。具体请参考操作系统和软件要求。
2. 下载SparkExtension插件包并解压。
  从软件安装包获取下载得到boostkit-omniop-spark-3.1.1-1.8.0-aarch64.zip，并上传至管理节点的“/opt/omni-operator/”目录下。

3. 可选：安装openEuler操作系统的SparkExtension依赖。
  各系统镜像配置本地Yum源，执行以下命令安装依赖。

  如已安装其他版本的SparkExtension则可跳过该步。

  1 yum install lz4-devel zstd-devel snappy-devel protobuf-c-devel protobuf-lite-devel boost-devel cyrus-sasl-devel jsoncpp-devel openssl-devel libatomic -y

4. 配置SparkExtension。

  a. 可选：从    软件安装包获取
中获取Dependency_library软件安装包（Dependency_library.zip和Dependency_library.z01），上传到“/opt/omni-operator”目录下，再将适用于对应操作系统的内容解压并复制到“/opt/omni-operator/lib”目录下。
    如已安装其他版本的SparkExtension则可跳过该步。 如果在安装依赖中已复制libLLVM-15.so、libjemalloc.so.2两个so文件到“/opt/omni-operator/lib”目录下，则本步骤可以跳过这两个so的复制。

    1 2 3 4 5 cd /opt/omni-operator rm -rf Dependency_library_*.zip zip -F Dependency_library.zip --out Dependency_library_complete.zip unzip Dependency_library_complete.zip cp opt/omni-operator/Dependency_library/Dependency_library_openeuler/* /opt/omni-operator/lib

  b. 解压boostkit-omniop-spark-3.1.1-1.8.0-aarch64.zip，得到boostkit-omniop-spark-3.1.1-1.8.0-aarch64-openeuler.zip，然后解压boostkit-omniop-spark-3.1.1-1.8.0-aarch64-openeuler.zip，得到boostkit-omniop-spark-3.1.1-1.8.0-aarch64.jar和dependencies.tar.gz，将boostkit-omniop-spark-3.1.1-1.8.0-aarch64.jar移动到“/opt/omni-operator/lib”目录下，将dependencies.tar.gz解压到“/opt/omni-operator/lib”目录下。
    1 2 3 4 5 6 rm -rf dependencies.tar.gz unzip boostkit-omniop-spark-3.1.1-1.8.0-aarch64.zip unzip boostkit-omniop-spark-3.1.1-1.8.0-aarch64-openeuler.zip mv boostkit-omniop-spark-3.1.1-1.8.0-aarch64.jar ./lib tar -zxvf dependencies.tar.gz -C ./lib rm -f *.zip

  c. 修改软件安装包权限为550。
    1 chmod -R 550 /opt/omni-operator/lib/*

5. 在管理节点的“~/.bashrc”文件中添加如下环境变量。
  1 2 echo "export OMNI_HOME=/opt/omni-operator" >> ~/.bashrc source ~/.bashrc


#### 安装SparkExtension 3.3.1

1. 安装Spark引擎。具体请参考操作系统和软件要求。
2. 下载SparkExtension插件包并解压。
  从软件安装包获取下载得到boostkit-omniop-spark-3.3.1-1.8.0-aarch64.zip，并上传至管理节点的“/opt/omni-operator/”目录下。

3. 可选：安装openEuler操作系统的SparkExtension依赖。
  各系统镜像配置本地Yum源，执行以下命令安装依赖。

  如已安装其他版本的SparkExtension则可跳过该步。

  1 yum install lz4-devel zstd-devel snappy-devel protobuf-c-devel protobuf-lite-devel boost-devel cyrus-sasl-devel jsoncpp-devel openssl-devel libatomic -y

4. 配置SparkExtension。

  a. 可选：从    软件安装包获取
中获取Dependency_library软件安装包（Dependency_library.zip和Dependency_library.z01），上传到“/opt/omni-operator”目录下，再将适用于对应运行系统的压缩包内容解压并复制到“/opt/omni-operator/lib”目录下。
    如已安装其他版本的SparkExtension则可跳过该步。 如果在安装依赖中已复制libLLVM-15.so、libjemalloc.so.2两个so文件到“/opt/omni-operator/lib”目录下，则本步骤可以跳过这两个so的复制。

    1 2 3 4 5 cd /opt/omni-operator rm -rf Dependency_library_*.zip zip -F Dependency_library.zip --out Dependency_library_complete.zip unzip Dependency_library_complete.zip cp /opt/omni-operator/Dependency_library_openeuler/* /opt/omni-operator/lib

  b. 解压boostkit-omniop-spark-3.3.1-1.8.0-aarch64.zip，得到boostkit-omniop-spark-3.3.1-1.8.0-aarch64-openeuler.zip，然后解压boostkit-omniop-spark-3.3.1-1.8.0-aarch64-openeuler.zip，得到boostkit-omniop-spark-3.3.1-1.8.0-aarch64.jar和dependencies.tar.gz，将boostkit-omniop-spark-3.3.1-1.8.0-aarch64.jar移动到“/opt/omni-operator/lib”目录下，将dependencies.tar.gz解压到“/opt/omni-operator/lib”目录下。
    1 2 3 4 5 6 7 cd /opt/omni-operator rm -rf dependencies.tar.gz unzip boostkit-omniop-spark-3.3.1-1.8.0-aarch64.zip unzip boostkit-omniop-spark-3.3.1-1.8.0-aarch64-openeuler.zip mv boostkit-omniop-spark-3.3.1-1.8.0-aarch64.jar ./lib tar -zxvf dependencies.tar.gz -C ./lib rm -f *.zip

  c. 修改软件安装包权限为550。
    1 chmod -R 550 /opt/omni-operator/lib/*

5. 可选：在管理节点的“~/.bashrc”文件中添加如下环境变量。
  1 2 echo "export OMNI_HOME=/opt/omni-operator" >> ~/.bashrc source ~/.bashrc


#### 安装SparkExtension 3.4.3

1. 安装Spark引擎。具体请参考操作系统和软件要求。
2. 下载SparkExtension插件包并解压。
  从软件安装包获取下载得到boostkit-omniop-spark-3.4.3-1.8.0-aarch64.zip，并上传至管理节点的“/opt/omni-operator/”目录下。

3. 可选：安装openEuler操作系统的SparkExtension依赖。
  各系统镜像配置本地Yum源，执行以下命令安装依赖。

  如已安装其他版本的SparkExtension则可跳过该步。

  1 yum install lz4-devel zstd-devel snappy-devel protobuf-c-devel protobuf-lite-devel boost-devel cyrus-sasl-devel jsoncpp-devel openssl-devel libatomic -y

4. 配置SparkExtension。

  a. 可选：从    软件安装包获取
中获取Dependency_library软件安装包（Dependency_library.zip和Dependency_library.z01），上传到“/opt/omni-operator”目录下，再将适用于对应运行系统的压缩包内容解压并复制到“/opt/omni-operator/lib”目录下。
    如已安装其他版本的SparkExtension则可跳过该步。 如果在安装依赖中已复制libLLVM-15.so、libjemalloc.so.2两个so文件到“/opt/omni-operator/lib”目录下，则本步骤可以跳过这两个so的复制。

    1 2 3 4 5 cd /opt/omni-operator rm -rf Dependency_library_*.zip zip -F Dependency_library.zip --out Dependency_library_complete.zip unzip Dependency_library_complete.zip cp /opt/omni-operator/Dependency_library_openeuler/* /opt/omni-operator/lib

  b. 解压boostkit-omniop-spark-3.4.3-1.8.0-aarch64.zip，得到boostkit-omniop-spark-3.4.3-1.8.0-aarch64-openeuler.zip，然后解压boostkit-omniop-spark-3.4.3-1.8.0-aarch64-openeuler.zip，得到boostkit-omniop-spark-3.4.3-1.8.0-aarch64.jar和dependencies.tar.gz，将boostkit-omniop-spark-3.4.3-1.8.0-aarch64.jar移动到“/opt/omni-operator/lib”目录下，将dependencies.tar.gz解压到“/opt/omni-operator/lib”目录下。
    1 2 3 4 5 6 7 cd /opt/omni-operator rm -rf dependencies.tar.gz unzip boostkit-omniop-spark-3.4.3-1.8.0-aarch64.zip unzip boostkit-omniop-spark-3.4.3-1.8.0-aarch64-openeuler.zip mv boostkit-omniop-spark-3.4.3-1.8.0-aarch64.jar ./lib tar -zxvf dependencies.tar.gz -C ./lib rm -f *.zip

  c. 改软件安装包权限为550。
    1 chmod -R 550 /opt/omni-operator/lib/*

5. 可选：在管理节点的“~/.bashrc”文件中添加如下环境变量。
  1 2 echo "export OMNI_HOME=/opt/omni-operator" >> ~/.bashrc source ~/.bashrc


#### 安装SparkExtension 3.5.2

1. 安装Spark引擎。具体请参考操作系统和软件要求。
2. 下载SparkExtension插件包并解压。
  从软件安装包获取下载得到boostkit-omniop-spark-3.5.2-1.8.0-aarch64.zip，并上传至管理节点的“/opt/omni-operator/”目录下。

3. 可选：安装openEuler操作系统的SparkExtension依赖。
  各系统镜像配置本地Yum源，执行以下命令安装依赖。

  如已安装其他版本的SparkExtension则可跳过该步。

  1 yum install lz4-devel zstd-devel snappy-devel protobuf-c-devel protobuf-lite-devel boost-devel cyrus-sasl-devel jsoncpp-devel openssl-devel libatomic -y

4. 配置SparkExtension。

  a. 可选：从    软件安装包获取
中获取Dependency_library软件安装包（Dependency_library.zip和Dependency_library.z01），上传到“/opt/omni-operator”目录下，再将适用于对应运行系统的压缩包内容解压并复制到“/opt/omni-operator/lib”目录下。
    如已安装其他版本的SparkExtension则可跳过该步。 如果在安装依赖中已复制libLLVM-15.so、libjemalloc.so.2两个so文件到“/opt/omni-operator/lib”目录下，则本步骤可以跳过这两个so的复制。

    1 2 3 4 5 cd /opt/omni-operator rm -rf Dependency_library_*.zip zip -F Dependency_library.zip --out Dependency_library_complete.zip unzip Dependency_library_complete.zip cp /opt/omni-operator/Dependency_library_openeuler/* /opt/omni-operator/lib

  b. 解压boostkit-omniop-spark-3.5.2-1.8.0-aarch64.zip，得到boostkit-omniop-spark-3.5.2-1.8.0-aarch64-openeuler.zip，然后解压boostkit-omniop-spark-3.5.2-1.8.0-aarch64-openeuler.zip，得到boostkit-omniop-spark-3.5.2-1.8.0-aarch64.jar和dependencies.tar.gz，将boostkit-omniop-spark-3.5.2-1.8.0-aarch64.jar移动到“/opt/omni-operator/lib”目录下，将dependencies.tar.gz解压到“/opt/omni-operator/lib”目录下。
    1 2 3 4 5 6 7 cd /opt/omni-operator rm -rf dependencies.tar.gz unzip boostkit-omniop-spark-3.5.2-1.8.0-aarch64.zip unzip boostkit-omniop-spark-3.5.2-1.8.0-aarch64-openeuler.zip mv boostkit-omniop-spark-3.5.2-1.8.0-aarch64.jar ./lib tar -zxvf dependencies.tar.gz -C ./lib rm -f *.zip

  c. 改软件安装包权限为550。
    1 chmod -R 550 /opt/omni-operator/lib/*

5. 可选：在管理节点的“~/.bashrc”文件中添加如下环境变量。
  1 2 echo "export OMNI_HOME=/opt/omni-operator" >> ~/.bashrc source ~/.bashrc
