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

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

OmniOperator算子加速安装所需Spark引擎扩展包和OmniOperator算子加速运行时所依赖的库文件详情如表1所示。本文已openEuler系统为例，如需在CentOS系统使用OmniOperator算子加速，请按说明操作即可。


**表1 OmniOperator算子加速安装所需包**

| 软件包 | 子包 | 说明 |
| --- | --- | --- |
| boostkit\-omniop\-spark\-3.1.1\-1.7.0\-aarch64.zip | boostkit\-omniop\-spark\-3.1.1\-1.7.0\-aarch64\-openeuler.zip | 适配openEuler系统。 |
| boostkit\-omniop\-spark\-3.1.1\-1.7.0\-aarch64.zip | boostkit\-omniop\-spark\-3.1.1\-1.7.0\-aarch64\-centos.zip | 适配CentOS系统。 如需在CentOS系统安装OmniOperator算子加速，把以下命令参数中的boostkit\-omniop\-spark\-3.1.1\-1.7.0\-aarch64\-openeuler.zip替换为boostkit\-omniop\-spark\-3.1.1\-1.7.0\-aarch64\-centos.zip即可。 |
| Dependency\_library.zip | Dependency\_library\_openeuler.zip | 适配openEuler系统 |
| Dependency\_library.zip | Dependency\_library\_centos.zip | 适配CentOS系统。 如需在CentOS系统安装OmniOperator算子加速，把以下命令参数中的Dependency\_library\_openeuler.zip替换为Dependency\_library\_centos.zip即可。 |


#### 安装SparkExtension 3.1.1

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

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

  如已安装SparkExtension 3.3.1则可跳过该步。

  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 3.3.1则可跳过该步。 如果在安装依赖中已复制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.1.1-1.7.0-aarch64.zip，得到boostkit-omniop-spark-3.1.1-1.7.0-aarch64-openeuler.zip。
    解压boostkit-omniop-spark-3.1.1-1.7.0-aarch64-openeuler.zip，得到boostkit-omniop-spark-3.1.1-1.7.0-aarch64.jar和dependencies.tar.gz。

    将boostkit-omniop-spark-3.1.1-1.7.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.7.0-aarch64.zip unzip boostkit-omniop-spark-3.1.1-1.7.0-aarch64-openeuler.zip mv boostkit-omniop-spark-3.1.1-1.7.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.7.0-aarch64.zip，并上传至管理节点的“/opt/omni-operator/”目录下。

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

  如已安装SparkExtension 3.1.1则可跳过该步。

  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 3.1.1则可跳过该步。 如果在2.3.2中已复制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.7.0-aarch64.zip，得到boostkit-omniop-spark-3.3.1-1.7.0-aarch64-openeuler.zip，然后解压boostkit-omniop-spark-3.3.1-1.7.0-aarch64-openeuler.zip，得到boostkit-omniop-spark-3.3.1-1.7.0-aarch64.jar和dependencies.tar.gz，将boostkit-omniop-spark-3.3.1-1.7.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.7.0-aarch64.zip unzip boostkit-omniop-spark-3.3.1-1.7.0-aarch64-openeuler.zip mv boostkit-omniop-spark-3.3.1-1.7.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
