我找不到有效的Spark选项来要求执行者使用GPU。
我正在尝试设置HADOOP集群,以便通过Spark在可用的GPU上运行机器学习算法。
到目前为止,我正在尝试使用最小的群集(1个资源管理器和2个节点管理器(每个具有8cores,32Gb RAM,1个Nvidia GPU))进行设置,每个人都运行Ubuntu 18.04。
资源发现按预期工作(我看到了16个内核,56Gb内存和2个yarn.io/gpu)
该文档提供了一种使用“ --conf spark.yarn.executor.resource.yarn.io/gpu=1”的方法,但这对我不起作用(无论在spark-submit命令参数中还是在$ SPARK_CONF / metrics.properties)。
由于YARN 3是第一个提供GPU隔离的应用程序,因此我尝试避免回滚到较旧(/有更多文献记载)的版本。
我猜这可以通过SparkContext在代码中设置,并且很高兴知道如何做,但是由于我比ML工程师更喜欢管理,我宁愿一劳永逸地将它设置在conf文件中。无论如何在这一点上,任何解决方案将不胜感激。
是否有人愿意提供良好的语法来分配启用了资源隔离的GPU?
爱你们,凯文
(HortonWorks HDP上的纱线3.1.1 / 3.2.0)