---
title: 安装过程
description: "需要安装的组件与安装目录如表1所示。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2003/bds/kunpengbdssparkml_20_0014.html
sourcePath: /source/zh/kunpengboostkithistory/2003/bds/kunpengbdssparkml_20_0014.html
indexId: 48d56fa4dd5dcd004aec42ace5150b1da1fa0bb7db80f06a6ca16a1321650a1273
---
# 安装过程

需要安装的组件与安装目录如表1所示。

算法包只需要在客户端安装，控制节点和计算节点不需要安装。


**表1 组件安装目录**

| 安装节点 | 安装目录 | 安装组件 |
| --- | --- | --- |
| 客户端 | /home/test/ sophon/lib | sophon\-ml\-acc\_2.11\-1.2.0.jar |
| 客户端 | /home/test/ sophon/lib | sophon\-ml\-core\_2.11\-1.2.0.jar |
| 客户端 | /home/test/ sophon/lib | sophon\-ml\-kernel\-2.11\-1.2.0\-aarch\_64.jar |
| 客户端 | /home/test/ sophon/lib | 依赖的第三方开源加速库fastutil\-8.3.1.jar |
| 客户端 | /home/test/ sophon/ | 测试JAR包 |
| 客户端 | /home/test/ sophon/ | 任务提交shell脚本 |


安装步骤如下：

1. 在客户端节点上，以大数据组件的授权用户登录服务器，将算法依赖的第三方开源加速库fastutil-8.3.1.jar安装到对应目录，软件JAR包设置文件权限为750。

  a. 创建“lib”目录。

```
mkdir -p /home/test/sophon/lib
```


  b. 进入创建的目录。

```
cd /home/test/sophon/lib
```


  c. 下载fastutil-8.3.1.jar包。

```
wget https://repo1.maven.org/maven2/it/unimi/dsi/fastutil/8.3.1/fastutil-8.3.1.jar
```


2. 将机器学习和图库算法包复制到客户端的“/home/test/sophon/lib/”目录，软件JAR包设置文件权限为750。

```
cp /opt/Spark-ml-algo-lib-1.2.0/ml-core/target/sophon-ml-core_2.11-1.2.0.jar /home/test/sophon/lib
cp /opt/Spark-ml-algo-lib-1.2.0/ml-accelerator/target/sophon-ml-acc_2.11-1.2.0.jar /home/test/ sophon/lib
cp /opt/sophon-ml-kernel-2.11-1.2.0-aarch_64.jar /home/test/sophon/lib
```


3. 将算法的测试工具（需要用户开发）打成的JAR包（如：ml-test.jar）放入客户端的库算法包上层目录“/home/test/sophon/”下。
4. 将提交任务shell脚本放入客户端与测试JAR包相同目录的“/home/test/sophon/”下， shell脚本内容示例如下：

```
#!/bin/bash
spark-submit \
--class com.bigdata.ml.RFMain \
--driver-class-path "./lib/*" \
--master yarn \
--deploy-mode client \
--driver-cores 36 \
--driver-memory 50g \
--jars "lib/fastutil-8.3.1.jar,lib/sophon-ml-acc_2.11-1.2.0.jar,lib/sophon-ml-core_2.11-1.2.0.jar,lib/sophon-mlkernel-2.11-1.2.0-aarch_64.jar" \
--conf "spark.executor.extraClassPath=fastutil-8.3.1.jar:sophon-ml-acc_2.11-1.2.0.jar:sophon-mlcore_2.11-1.2.0.jar:sophon-ml-kernel-2.11-1.2.0-aarch_64.jar" \ ./ml-test.jar
```


  脚本中的语句含义如表2所示。

**表2 脚本的语句含义**

| 语句 | 含义 |
| --- | --- |
| spark\-submit | 指明是以spark\-submit的形式提交作业。 |
| \-\-class com.bigdata.ml.RFMain | 调用算法的测试程序入口函数。 |
| \-\-driver\-class\-path "./lib/\*" | 指明需要用到的机器学习算法加速库、依赖的第三方开源加速库fastutil、算法的测试JAR包在客户端的存放地址。 机器学习算法需要用到的包：sophon\-ml\-acc\_2.11\-1.2.0.jar、sophon\-mlcore\_2.11\-1.2.0.jar、sophon\-mlkernel\-2.11\-1.2.0\-aarch\_64.jar、 fastutil\-8.3.1.jar。 图算法需要用到的包：sophon\-graph\-kernel\-2.11\-1.2.0\-aarch\_64.jar、 fastutil\-8.3.1.jar。 |
| \-\-conf "spark.executor.extraClassPath " | 指明需要用到的机器学习算法加速库、依赖的第三方开源加速库fastutil和算法所需的JAR包。 机器学习算法需要用到的包：sophon\-ml\-acc\_2.11\-1.2.0.jar、sophon\-mlcore\_2.11\-1.2.0.jar、sophon\-mlkernel\-2.11\-1.2.0\-aarch\_64.jar、 fastutil\-8.3.1.jar。 图算法需要用到的包：sophon\-graph\-kernel\-2.11\-1.2.0\-aarch\_64.jar、 fastutil\-8.3.1.jar。 |
| \-\-master yarn | 指明在Yarn集群上提交Spark任务。 |
| \-\-deploy\-mode client | 指明提交Spark任务的模式是client形式的。 |
| \-\-driver\-cores | driver进程所用到的核数。 |
| \-\-driver\-memory | driver使用的内存，不可超过单机的总内存。 |
| \-\-jars | 指定算法所需JAR包。 |
| ./ml\-test.jar | 指明作为测试程序的JAR包。 |


  算法包运行时的日志默认回显到客户端控制台，不储存在文件中，可以通过引入自定义的log4j.properties将日志保存到本地，引入方法可参考设置运行日志保存到本地。
