将获取代码中得到的软件包移动到安装目录,如表1所示,安装根目录“/home/test/boostkit/”仅为举例,请关注安装目录相对路径。
算法包只需要在客户端安装,控制节点和计算节点不需要安装。
安装节点 |
安装目录 |
安装组件 |
---|---|---|
客户端 |
/home/test/boostkit/lib |
boostkit-graph-acc_2.11-1.3.0-spark2.3.2.jar |
boostkit-graph-core_2.11-1.3.0-spark2.3.2.jar |
||
boostkit-graph-kernel-2.11-1.3.0-spark2.3.2-aarch64.jar |
||
依赖的第三方开源加速库fastutil-8.3.1.jar |
||
/home/test/boostkit/ |
测试jar包 |
|
任务提交shell脚本 |
安装步骤如下:
1 | mkdir -p /home/test/boostkit/lib |
1 | cd /home/test/boostkit/lib |
1 | wget https://repo1.maven.org/maven2/it/unimi/dsi/fastutil/8.3.1/fastutil-8.3.1.jar
|
1 | chmod 750 fastutil-8.3.1.jar |
1 2 3 4 | cp /opt/Spark-graph-algo-lib-1.3.0-spark2.3.2/graph-accelerator/target/boostkit-graph-acc_2.11-1.3.0-spark2.3.2.jar /home/test/boostkit/lib cp /opt/Spark-graph-algo-lib-1.3.0-spark2.3.2/graph-accelerator/target/boostkit-graph-core_2.11-1.3.0-spark2.3.2.jar /home/test/boostkit/lib cp /opt/boostkit-graph-kernel-2.11-1.3.0-spark2.3.2-aarch64.jar /home/test/boostkit/lib chmod 750 /home/test/boostkit/lib/boostkit-* |
1 2 3 4 5 6 7 8 9 10 11 12 | #!/bin/bash spark-submit \ --class com.bigdata.graph.WCEMain \ --master yarn \ --deploy-mode client \ --driver-cores 36 \ --driver-memory 50g \ --jars "lib/fastutil-8.3.1.jar,lib/boostkit-graph-acc_2.11-1.3.0-spark2.3.2.jar,lib/boostkit-graph-kernel-2.11-1.3.0-spark2.3.2-aarch64.jar,lib/boostkit-graph-core_2.11-1.3.0-spark2.3.2.jar" \ --driver-class-path "lib/graph-test.jar:lib/fastutil-8.3.1.jar:lib/snakeyaml-1.17.jar:lib/boostkit-graph-acc_2.11-1.3.0-spark2.3.2.jar:lib/boostkit-graph-kernel-2.11-1.3.0-spark2.3.2-aarch64.jar:lib/boostkit-graph-core_2.11-1.3.0-spark2.3.2.jar" \ --conf "spark.executor.extraClassPath=fastutil-8.3.1.jar:boostkit-graph-acc_2.11-1.3.0-spark2.3.2.jar:boostkit-graph-kernel-2.11-1.3.0-spark2.3.2-aarch64.jar:boostkit-graph-core_2.11-1.3.0-spark2.3.2.jar" \ ./graph-test.jar |
将提交任务shell脚本放入客户端与测试jar包相同目录的“/home/test/boostkit/”下,使用yarn-cluster模式启动Spark作业,shell脚本内容示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/bin/bash spark-submit \ --class com.bigdata.graph.WCEMain \ --master yarn \ --deploy-mode cluster \ --driver-cores 36 \ --driver-memory 50g \ --jars "lib/fastutil-8.3.1.jar,lib/boostkit-graph-acc_2.11-1.3.0-spark2.3.2.jar,lib/boostkit-graph-kernel-2.11-1.3.0-spark2.3.2-aarch64.jar,lib/boostkit-graph-core_2.11-1.3.0-spark2.3.2.jar" \ --driver-class-path "graph-test.jar:fastutil-8.3.1.jar:snakeyaml-1.17.jar:boostkit-graph-acc_2.11-1.3.0-spark2.3.2.jar:boostkit-graph-kernel-2.11-1.3.0-spark2.3.2-aarch64.jar:boostkit-graph-core_2.11-1.3.0-spark2.3.2.jar" \ --conf "spark.yarn.cluster.driver.extraClassPath=graph-test.jar:snakeyaml-1.17.jar:boostkit-graph-kernel-2.11-1.3.0-spark2.3.2-aarch64.jar:boostkit-graph-acc_2.11-1.3.0-spark2.3.2.jar:boostkit-graph-core_2.11-1.3.0-spark2.3.2.jar" \ --conf "spark.executor.extraClassPath=fastutil-8.3.1.jar:boostkit-graph-acc_2.11-1.3.0-spark2.3.2.jar:boostkit-graph-kernel-2.11-1.3.0-spark2.3.2-aarch64.jar:boostkit-graph-core_2.11-1.3.0-spark2.3.2.jar" \ ./graph-test.jar |
脚本中的语句含义如表2所示。
语句 |
含义 |
---|---|
spark-submit |
指明是以spark-submit的形式提交作业。 |
--class com.bigdata.ml.RFMain |
调用算法的测试程序入口函数。 |
--driver-class-path "XXX" |
指明需要用到的图分析算法加速库、依赖的第三方开源加速库fastutil、算法的测试jar包在客户端的存放地址。 图分析算法需要用到的包:boostkit-graph-kernel-2.11-1.3.0-spark2.3.2-aarch64.jar、boostkit-graph-acc_2.11-1.3.0-spark2.3.2.jar、boostkit-graph-core_2.11-1.3.0-spark2.3.2.jar、fastutil-8.3.1.jar。 当提交yarn-client模式的Spark作业时需要写清楚所要引用的jar包在当前节点的路径和jar包的名字,多个jar包之间使用‘:’作为分隔符。 当提交yarn-client模式的Spark作业时不需要写清楚所要引用的jar包在当前节点的路径,只需要写清楚要引用的jar包的名字即可,多个jar包之间使用‘:’作为分隔符。 |
--conf "spark.executor.extraClassPath=XXX" |
指明需要用到的算法加速库、依赖的第三方开源加速库fastutil和算法所需的jar包。 图分析算法需要用到的包:boostkit-graph-kernel-2.11-1.3.0-spark2.3.2-aarch64.jar、boostkit-graph-acc_2.11-1.3.0-spark2.3.2.jar、boostkit-graph-core_2.11-1.3.0-spark2.3.2.jar、fastutil-8.3.1.jar。 |
--conf "spark.yarn.cluster.driver.extraClassPath=XXX" |
指明需要用到的算法加速库、依赖的第三方开源加速库fastutil和算法所需的jar包。 图分析算法需要用到的包:boostkit-graph-kernel-2.11-1.3.0-spark2.3.2-aarch64.jar、boostkit-graph-acc_2.11-1.3.0-spark2.3.2.jar、boostkit-graph-core_2.11-1.3.0-spark2.3.2.jar、fastutil-8.3.1.jar。 只有yarn-cluster模式的Spark作业需要配置此参数,只需要写清楚所引用的jar包的名字,多个jar包之间使用‘:’作为分隔符。 |
--master yarn |
指明在Yarn集群上提交Spark任务。 |
--deploy-mode cluster |
指明提交Spark任务的模式是cluster形式的。 |
--deploy-mode client |
指明提交Spark任务的模式是client形式的。 |
--driver-cores |
driver进程所用到的核数。 |
--driver-memory |
driver使用的内存,不可超过单机的总内存。 |
--jars |
指定算法所需jar包,要写清楚所指定jar包的路径和名字,多个jar包之间使用“,”作为分隔符。 |
./graph-test.jar |
指明作为测试程序的jar包。 |