---
title: 安装SparkExtension
description: "OmniOperator算子加速特性支持Spark引擎，需在管理节点和所有计算节点安装Spark引擎，并配置openEuler操作系统的SparkExtension依赖。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2530/bds/kunpengbds_omniruntime_20_0218.html
sourcePath: /source/zh/kunpengboostkithistory/2530/bds/kunpengbds_omniruntime_20_0218.html
indexId: 65514f353864fc8891bd09aa2e1ba5c8be1e1bab72497678136ec4bb138a7ed878
---
# 安装SparkExtension

OmniOperator算子加速特性支持Spark引擎，需在管理节点和所有计算节点安装Spark引擎，并配置openEuler操作系统的SparkExtension依赖。

用户根据需求安装与Spark版本相对应的SparkExtension，例如Spark 3.1.1对应SparkExtension 3.1.1。可通过spark-shell --version命令查询Spark版本。

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

- boostkit-omniop-spark-3.1.1-2.0.0-aarch64.zip中包含boostkit-omniop-spark-3.1.1-2.0.0-aarch64-openeuler.zip（NEON实现）和boostkit-omniop-spark-3.1.1-2.0.0-aarch64-openeuler-sve.zip（sve实现）两个包， 依据机型是否支持NEON、SVE指令进行选择。下文以boostkit-omniop-spark-3.1.1-2.0.0-aarch64-openeuler.zip（NEON实现）为例进行说明。如需在支持SVE指令的机型安装SVE实现的依赖包，将下文的boostkit-omniop-spark-3.1.1-2.0.0-aarch64-openeuler.zip换成boostkit-omniop-spark-3.1.1-2.0.0-aarch64-openeuler-sve.zip即可。
- 请根据OS类型选择对应的依赖包，以下安装步骤以openEuler 22.03系统为例，对应Dependency_library_openeuler22.03.zip。


#### 安装SparkExtension 3.1.1

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

3. 可选：安装openEuler操作系统的SparkExtension依赖。
如果已经安装其他版本的SparkExtension则可跳过此步骤。查看“$OMNI_HOME”目录下的lib目录，如果已经包含相关so库和JAR包即表明已经安装其他版本的SparkExtension。本文档中“$OMNI_HOME”为“/opt/omni-operator”。


  a. 配置本地Yum源。以openEuler 22.03 LTS SP1为例：
    1 dnf config-manager --add-repo https://repo.oepkgs.net/openeuler/rpm/openEuler-22.03-LTS-SP1/extras/aarch64/

  b. 安装依赖。
    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. 在管理节点和计算节点创建“/opt/omni-operator/”目录作为安装OmniOperator算子加速的根目录，进入该目录。

```
mkdir /opt/omni-operator
cd /opt/omni-operator
```


  b. 可选：从    软件安装包获取
中获取Dependency_library_openeuler22.03.zip，并上传到“/opt/omni-operator”目录下，再将适用于对应操作系统的内容解压并复制到“/opt/omni-operator/lib”目录下。
    如果已经安装其他版本的SparkExtension则可跳过该步。查看“$OMNI_HOME”目录下的lib目录，如果已经包含相关so库和JAR包即表明已经安装其他版本的SparkExtension。本文档中“$OMNI_HOME”为“/opt/omni-operator”。 如果在安装依赖中已复制libLLVM-15.so、libjemalloc.so.2两个so文件到“/opt/omni-operator/lib”目录下，则本步骤无需重复复制。

    1 2 unzip Dependency_library_openeuler22.03.zip \cp -f /opt/omni-operator/Dependency_library_openeuler22.03/* /opt/omni-operator/lib

  c. 解压boostkit-omniop-spark-3.1.1-2.0.0-aarch64.zip，得到boostkit-omniop-spark-3.1.1-2.0.0-aarch64-openeuler.zip。
    解压boostkit-omniop-spark-3.1.1-2.0.0-aarch64-openeuler.zip，得到boostkit-omniop-spark-3.1.1-2.0.0-aarch64.jar和dependencies.tar.gz。

    将boostkit-omniop-spark-3.1.1-2.0.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.1.1-2.0.0-aarch64.zip unzip boostkit-omniop-spark-3.1.1-2.0.0-aarch64-openeuler.zip mv boostkit-omniop-spark-3.1.1-2.0.0-aarch64.jar ./lib tar -zxvf dependencies.tar.gz -C ./lib rm -f *.zip

  d. 修改软件安装包中的程序文件权限为550，配置文件目录权限为750，配置文件权限为640。
    1 2 3 chmod -R 550 /opt/omni-operator/* chmod 750 /opt/omni-operator/conf chmod 640 /opt/omni-operator/conf/omni.conf

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-2.0.0-aarch64.zip，并上传至管理节点的“/opt/omni-operator/”目录下。

3. 可选：安装openEuler操作系统的SparkExtension依赖。
如果已经安装其他版本的SparkExtension则可跳过此步骤。查看“$OMNI_HOME”目录下的lib目录，如果已经包含相关so库和JAR包即表明已经安装其他版本的SparkExtension。本文档中“$OMNI_HOME”为“/opt/omni-operator”。


  a. 配置本地Yum源。以openEuler 22.03 LTS SP1为例：
    1 dnf config-manager --add-repo https://repo.oepkgs.net/openeuler/rpm/openEuler-22.03-LTS-SP1/extras/aarch64/

  b. 安装依赖。
    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. 在管理节点和计算节点创建“/opt/omni-operator/”目录作为安装OmniOperator算子加速的根目录，进入该目录。

```
mkdir /opt/omni-operator
cd /opt/omni-operator
```


  b. 可选：从    软件安装包获取
中获取Dependency_library_openeuler22.03.zip，并上传到“/opt/omni-operator”目录下，再将适用于对应操作系统的压缩包内容解压并复制到“/opt/omni-operator/lib”目录下。
    如果已经安装其他版本的SparkExtension则可跳过该步。查看“$OMNI_HOME”目录下的lib目录，如果已经包含相关so库和JAR包即表明已经安装其他版本的SparkExtension。本文档中“$OMNI_HOME”为“/opt/omni-operator”。 如果在安装依赖中已复制libLLVM-15.so、libjemalloc.so.2两个so文件到“/opt/omni-operator/lib”目录下，则本步骤无需重复复制。

    1 2 unzip Dependency_library_openeuler22.03.zip \cp -f /opt/omni-operator/Dependency_library_openeuler22.03/* /opt/omni-operator/lib

  c. 解压boostkit-omniop-spark-3.3.1-2.0.0-aarch64.zip，得到boostkit-omniop-spark-3.3.1-2.0.0-aarch64-openeuler.zip。
    解压boostkit-omniop-spark-3.3.1-2.0.0-aarch64-openeuler.zip，得到boostkit-omniop-spark-3.3.1-2.0.0-aarch64.jar和dependencies.tar.gz。

    将boostkit-omniop-spark-3.3.1-2.0.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-2.0.0-aarch64.zip unzip boostkit-omniop-spark-3.3.1-2.0.0-aarch64-openeuler.zip mv boostkit-omniop-spark-3.3.1-2.0.0-aarch64.jar ./lib tar -zxvf dependencies.tar.gz -C ./lib rm -f *.zip

  d. 修改软件安装包中的程序文件权限为550，配置文件目录权限为750，配置文件权限为640。
    1 2 3 chmod -R 550 /opt/omni-operator/* chmod 750 /opt/omni-operator/conf chmod 640 /opt/omni-operator/conf/omni.conf

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-2.0.0-aarch64.zip，并上传至管理节点的“/opt/omni-operator/”目录下。

3. 可选：安装openEuler操作系统的SparkExtension依赖。
如果已经安装其他版本的SparkExtension则可跳过此步骤。查看“$OMNI_HOME”目录下的lib目录，如果已经包含相关so库和JAR包即表明已经安装其他版本的SparkExtension。本文档中“$OMNI_HOME”为“/opt/omni-operator”。


  a. 配置本地Yum源。以openEuler 22.03 LTS SP1为例：
    1 dnf config-manager --add-repo https://repo.oepkgs.net/openeuler/rpm/openEuler-22.03-LTS-SP1/extras/aarch64/

  b. 安装依赖。
    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. 在管理节点和计算节点创建“/opt/omni-operator/”目录作为安装OmniOperator算子加速的根目录，进入该目录。

```
mkdir /opt/omni-operator
cd /opt/omni-operator
```


  b. 可选：从    软件安装包获取
中获取Dependency_library_openeuler22.03.zip，并上传到“/opt/omni-operator”目录下，再将适用于对应操作系统的压缩包内容解压并复制到“/opt/omni-operator/lib”目录下。
    如果已经安装其他版本的SparkExtension则可跳过该步。查看“$OMNI_HOME”目录下的lib目录，如果已经包含相关so库和JAR包即表明已经安装其他版本的SparkExtension。本文档中“$OMNI_HOME”为“/opt/omni-operator”。 如果在安装依赖中已复制libLLVM-15.so、libjemalloc.so.2两个so文件到“/opt/omni-operator/lib”目录下，则本步骤无需重复复制。

    1 2 unzip Dependency_library_openeuler22.03.zip \cp -f /opt/omni-operator/Dependency_library_openeuler22.03/* /opt/omni-operator/lib

  c. 解压boostkit-omniop-spark-3.4.3-2.0.0-aarch64.zip，得到boostkit-omniop-spark-3.4.3-2.0.0-aarch64-openeuler.zip。
    解压boostkit-omniop-spark-3.4.3-2.0.0-aarch64-openeuler.zip，得到boostkit-omniop-spark-3.4.3-2.0.0-aarch64.jar和dependencies.tar.gz。

    将boostkit-omniop-spark-3.4.3-2.0.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-2.0.0-aarch64.zip unzip boostkit-omniop-spark-3.4.3-2.0.0-aarch64-openeuler.zip mv boostkit-omniop-spark-3.4.3-2.0.0-aarch64.jar ./lib tar -zxvf dependencies.tar.gz -C ./lib rm -f *.zip

  d. 修改软件安装包中的程序文件权限为550，配置文件目录权限为750，配置文件权限为640。
    1 2 3 chmod -R 550 /opt/omni-operator/* chmod 750 /opt/omni-operator/conf chmod 640 /opt/omni-operator/conf/omni.conf

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-2.0.0-aarch64.zip，并上传至管理节点的“/opt/omni-operator/”目录下。

3. 可选：安装openEuler操作系统的SparkExtension依赖。
如果已经安装其他版本的SparkExtension则可跳过此步骤。查看“$OMNI_HOME”目录下的lib目录，如果已经包含相关so库和JAR包即表明已经安装其他版本的SparkExtension。本文档中“$OMNI_HOME”为“/opt/omni-operator”。


  a. 配置本地Yum源。以openEuler 22.03 LTS SP1为例：
    1 dnf config-manager --add-repo https://repo.oepkgs.net/openeuler/rpm/openEuler-22.03-LTS-SP1/extras/aarch64/

  b. 安装依赖。
    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. 在管理节点和计算节点创建“/opt/omni-operator/”目录作为安装OmniOperator算子加速的根目录，进入该目录。

```
mkdir /opt/omni-operator
cd /opt/omni-operator
```


  b. 可选：从    软件安装包获取
中获取Dependency_library_openeuler22.03.zip，并上传到“/opt/omni-operator”目录下，再将适用于对应操作系统的压缩包内容解压并复制到“/opt/omni-operator/lib”目录下。
    如果已经安装其他版本的SparkExtension则可跳过该步。查看“$OMNI_HOME”目录下的lib目录，如果已经包含相关so库和JAR包即表明已经安装其他版本的SparkExtension。本文档中“$OMNI_HOME”为“/opt/omni-operator”。 如果在安装依赖中已复制libLLVM-15.so、libjemalloc.so.2两个so文件到“/opt/omni-operator/lib”目录下，则本步骤无需重复复制。

    1 2 unzip Dependency_library_openeuler22.03.zip \cp -f /opt/omni-operator/Dependency_library_openeuler22.03/* /opt/omni-operator/lib

  c. 解压boostkit-omniop-spark-3.5.2-2.0.0-aarch64.zip，得到boostkit-omniop-spark-3.5.2-2.0.0-aarch64-openeuler.zip。
    然后解压boostkit-omniop-spark-3.5.2-2.0.0-aarch64-openeuler.zip，得到boostkit-omniop-spark-3.5.2-2.0.0-aarch64.jar和dependencies.tar.gz。

    最后将boostkit-omniop-spark-3.5.2-2.0.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-2.0.0-aarch64.zip unzip boostkit-omniop-spark-3.5.2-2.0.0-aarch64-openeuler.zip mv boostkit-omniop-spark-3.5.2-2.0.0-aarch64.jar ./lib tar -zxvf dependencies.tar.gz -C ./lib rm -f *.zip

  d. 修改软件安装包中的程序文件权限为550，配置文件目录权限为750，配置文件权限为640。
    1 2 3 chmod -R 550 /opt/omni-operator/* chmod 750 /opt/omni-operator/conf chmod 640 /opt/omni-operator/conf/omni.conf

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