---
title: 准备开发环境
description: "客户端开发环境要求如表1所示。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2200/bds/kunpengbdssparkml_16_0036.html
sourcePath: /source/zh/kunpengboostkithistory/2200/bds/kunpengbdssparkml_16_0036.html
indexId: 37a03e041b7d304e3a418cbdf9ef3f31dad6baa551cdaf674b5c39eb7a77f69273
---
# 准备开发环境

#### 客户端开发环境要求

客户端开发环境要求如表1所示。


**表1 准备开发环境**

| 项目 | 版本 | 说明 |
| --- | --- | --- |
| 操作系统 | 开发环境：Windows系统，推荐Windows 7及以上版本。 | 需提前准备 |
| 安装JDK | 安装OpenJDK，版本要求：1.8。 | 可参见新建工程 |
| 安装和配置开发工具 | 开发工具建议使用Eclipse和IntelliJ IDEA，本文以IntelliJ IDEA（2018.2）为例进行开发。 | 需提前准备 |
| 安装Scala | Scala开发环境的基本配置。Spark 2.3.2和2.4.6推荐Scala版本：2.11.8 | 可参见新建工程 |
| 安装Maven | 项目编译出包，推荐版本：3.6.3。 | 可参见新建工程 |


#### 软件获取

机器学习算法加速库软件包的获取方式如表2所示。


**表2 软件包获取方式**

| 适配Spark版本 | 软件包及获取链接 | 说明 |
| --- | --- | --- |
| Spark 2.3.2/2.4.5/2.4.6/3.1.1 | 华为技术支持网站： 企业网：Link(https://support.huawei.com/enterprise/zh/kunpeng\-computing/kunpeng\-boostkit\-pid\-253662285/software/255094599?idAbsPath=fixnode01\|23710424\|251364417\|9856629\|253662285) 运营商网：Link(https://support.huawei.com/carrier/idpRedirect?redirect=https%253A%252F%252Fsupport.huawei.com%252Fcarrier%252Fnavi%253Fcoltype%253Dsoftware%2523col%253Dsoftware%2526from%253Dproduct%2526detailId%253DPBI1\-255094599%2526path%253DPBI1\-21430725%252FPBI1\-21430756%252FPBI1\-21431670%252FPBI1\-251366796%252FPBI1\-253662285) | NA |
| Spark 2.3.2 | boostkit\-ml\-acc\_2.11\-2.2.0\-spark2.3.2.jar boostkit\-ml\-core\_2.11\-2.2.0\-spark2.3.2.jar boostkit\-ml\-kernel\-client\_2.11\-2.2.0\-spark2.3.2.jar | 编译出包请参见《大数据机器学习算法加速库 特性指南》“编译代码(https://www.hikunpeng.com/document/detail/zh/kunpengbds/appAccelFeatures/algorithmaccelf\_ml/kunpengbdssparkml\_20\_0018.html)”。 对于boostkit\-ml\-acc\_2.XX\-XXX\-sparkXX.jar有如下说明： 软件运行时依赖，需要部署。 对于boostkit\-ml\-core\_2.XX\-XXX\-sparkXX.jar有如下说明： 软件运行时依赖，需要部署。 对于boostkit\-ml\-kernel\-client\_2.XX\-XXX\-sparkXX.jar有如下说明： 开发阶段编译依赖，不需要部署。 对于boostkit\-xgboost4j\_XXX.jar有如下说明： XGBoost算法所需机器学习算法加速库适配包，可由开源适配代码编译而来，软件运行时依赖，需要部署。 |
| Spark 2.3.2 | boostkit\-xgboost4j\_2.11\-2.2.0.jar boostkit\-xgboost4j\-spark2.3.2\_2.11\-2.2.0.jar | 编译出包请参见《大数据机器学习算法加速库 特性指南》“编译代码(https://www.hikunpeng.com/document/detail/zh/kunpengbds/appAccelFeatures/algorithmaccelf\_ml/kunpengbdssparkml\_20\_0018.html)”。 对于boostkit\-ml\-acc\_2.XX\-XXX\-sparkXX.jar有如下说明： 软件运行时依赖，需要部署。 对于boostkit\-ml\-core\_2.XX\-XXX\-sparkXX.jar有如下说明： 软件运行时依赖，需要部署。 对于boostkit\-ml\-kernel\-client\_2.XX\-XXX\-sparkXX.jar有如下说明： 开发阶段编译依赖，不需要部署。 对于boostkit\-xgboost4j\_XXX.jar有如下说明： XGBoost算法所需机器学习算法加速库适配包，可由开源适配代码编译而来，软件运行时依赖，需要部署。 |
| Spark 2.4.5/2.4.6 | boostkit\-ml\-acc\_2.11\-2.2.0\-spark2.4.6.jar boostkit\-ml\-core\_2.11\-2.2.0\-spark2.4.6.jar boostkit\-ml\-kernel\-client\_2.11\-2.2.0\-spark2.4.6.jar | 编译出包请参见《大数据机器学习算法加速库 特性指南》“编译代码(https://www.hikunpeng.com/document/detail/zh/kunpengbds/appAccelFeatures/algorithmaccelf\_ml/kunpengbdssparkml\_20\_0018.html)”。 对于boostkit\-ml\-acc\_2.XX\-XXX\-sparkXX.jar有如下说明： 软件运行时依赖，需要部署。 对于boostkit\-ml\-core\_2.XX\-XXX\-sparkXX.jar有如下说明： 软件运行时依赖，需要部署。 对于boostkit\-ml\-kernel\-client\_2.XX\-XXX\-sparkXX.jar有如下说明： 开发阶段编译依赖，不需要部署。 对于boostkit\-xgboost4j\_XXX.jar有如下说明： XGBoost算法所需机器学习算法加速库适配包，可由开源适配代码编译而来，软件运行时依赖，需要部署。 |
| Spark 2.4.5/2.4.6 | boostkit\-xgboost4j\_2.11\-2.2.0.jar boostkit\-xgboost4j\-spark2.4.6\_2.11\-2.2.0.jar | 编译出包请参见《大数据机器学习算法加速库 特性指南》“编译代码(https://www.hikunpeng.com/document/detail/zh/kunpengbds/appAccelFeatures/algorithmaccelf\_ml/kunpengbdssparkml\_20\_0018.html)”。 对于boostkit\-ml\-acc\_2.XX\-XXX\-sparkXX.jar有如下说明： 软件运行时依赖，需要部署。 对于boostkit\-ml\-core\_2.XX\-XXX\-sparkXX.jar有如下说明： 软件运行时依赖，需要部署。 对于boostkit\-ml\-kernel\-client\_2.XX\-XXX\-sparkXX.jar有如下说明： 开发阶段编译依赖，不需要部署。 对于boostkit\-xgboost4j\_XXX.jar有如下说明： XGBoost算法所需机器学习算法加速库适配包，可由开源适配代码编译而来，软件运行时依赖，需要部署。 |
| Spark 3.1.1 | boostkit\-ml\-acc\_2.12\-2.2.0\-spark3.1.1.jar boostkit\-ml\-core\_2.12\-2.2.0\-spark3.1.1.jar boostkit\-ml\-kernel\-client\_2.12\-2.2.0\-spark3.1.1.jar | 编译出包请参见《大数据机器学习算法加速库 特性指南》“编译代码(https://www.hikunpeng.com/document/detail/zh/kunpengbds/appAccelFeatures/algorithmaccelf\_ml/kunpengbdssparkml\_20\_0018.html)”。 对于boostkit\-ml\-acc\_2.XX\-XXX\-sparkXX.jar有如下说明： 软件运行时依赖，需要部署。 对于boostkit\-ml\-core\_2.XX\-XXX\-sparkXX.jar有如下说明： 软件运行时依赖，需要部署。 对于boostkit\-ml\-kernel\-client\_2.XX\-XXX\-sparkXX.jar有如下说明： 开发阶段编译依赖，不需要部署。 对于boostkit\-xgboost4j\_XXX.jar有如下说明： XGBoost算法所需机器学习算法加速库适配包，可由开源适配代码编译而来，软件运行时依赖，需要部署。 |


对于BoostKit-ml_2.2.0.zip，下载软件包后需要校验软件包，确保与网站上的原始软件包一致。

校验方法：1. 获取软件数字证书和软件。
2. 在如下链接中获取校验工具和校验方法：
  https://support.huawei.com/enterprise/zh/tool/pgp-verify-TL1000000054(https://support.huawei.com/enterprise/zh/tool/pgp-verify-TL1000000054)

3. 参见上述链接下载的《OpenPGP签名验证指南》进行软件包完整性检查。


#### 集群环境要求

在算法开发之前需部署完成相应要求的集群。使用到的相关软件版本如表3所示。
**表3 集群环境软件推荐配置**

| 项目 | 要求 |
| --- | --- |
| OS | openEuler\-20.03\-LTS\-SP1 |
| JDK | BiSheng JDK 1.8.0\_262 |
| ZooKeeper | 3.4.9 |
| Hadoop | 3.1.1 |
| Spark | Apache Spark 2.3.2、2.4.5、2.4.6或3.1.1 |


当前鲲鹏算法库兼容Spark 2.3.2、Spark 2.4.5、Spark 2.4.6、Spark 3.1.1版本，其他平台暂未验证，基于安全诉求，建议使用高版本。
