安装过程
需要安装的组件与安装目录如表1所示。
算法包只需要在客户端安装,控制节点和计算节点不需要安装。
安装节点 |
安装目录 |
安装组件 |
---|---|---|
客户端 |
/home/test/ sophon/lib |
sophon-ml-acc_2.11-1.2.0.jar |
sophon-ml-core_2.11-1.2.0.jar |
||
sophon-ml-kernel-2.11-1.2.0-aarch_64.jar |
||
依赖的第三方开源加速库fastutil-8.3.1.jar |
||
/home/test/ sophon/ |
测试JAR包 |
|
任务提交shell脚本 |
安装步骤如下:
- 在客户端节点上,以大数据组件的授权用户登录服务器,将算法依赖的第三方开源加速库fastutil-8.3.1.jar安装到对应目录,软件JAR包设置文件权限为750。
- 创建“lib”目录。
mkdir -p /home/test/sophon/lib
- 进入创建的目录。
cd /home/test/sophon/lib
- 下载fastutil-8.3.1.jar包。
wget https://repo1.maven.org/maven2/it/unimi/dsi/fastutil/8.3.1/fastutil-8.3.1.jar
- 创建“lib”目录。
- 将机器学习和图库算法包复制到客户端的“/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
- 将算法的测试工具(需要用户开发)打成的JAR包(如:ml-test.jar)放入客户端的库算法包上层目录“/home/test/sophon/”下。
- 将提交任务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将日志保存到本地,引入方法可参考设置运行日志保存到本地。