我目前正在使用具有固定数量工作人员的Dataproc群集。每个工作人员都需要在工作人员上安装某些特定库所需的非平凡初始化操作。
最近,我们决定尝试使用一些可抢占的工作者,但我们的Spark工作失败了,因为缺少一些库。原因似乎是对可抢占工人没有初始化操作。事实上,我已经使用ssh连接到这些工作者,我完全确定初始化脚本不会在这些可抢占的工作程序上执行,因为预期的库不在那里,我们的初始化脚本会留下执行日志,这是缺失的。
这是正常情况吗?如何确保我的可抢占工作人员运行我的自定义初始化操作脚本?
答案 0 :(得分:2)
这绝对不正常。 Dataproc应确保节点在完全初始化(along with other guarantees)之前不加入集群。
我最好的猜测是存储库可能是片状或过载的,安装库的实际步骤会失败,但整个脚本却没有。您可以尝试在初始化操作的顶部添加set -e
吗?
您也可以通过SSH连接到节点并在/var/log/dataproc-startup-script*
中检查init操作的日志。