如何在EMR集群的所有节点上执行shell脚本?

时间:2016-03-19 13:25:14

标签: hadoop amazon-web-services amazon-emr

是否有正确的方法在正在运行的EMR hadoop集群中的每个节点上执行shell脚本?

我要查找的所有内容都会启动引导操作,但这仅适用于群集启动时,而不适用于正在运行的群集。

我的应用程序正在使用python,所以我目前的猜测是使用boto列出集群中每个节点的IP,然后遍历每个节点并通过ssh执行shell脚本。

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

如果您的群集已启动,则应使用步骤

在群集启动后执行步骤,因此从技术上讲,它似乎就是您要查找的内容。

请注意,仅在主节点上执行步骤,您应该以某种方式连接到其余节点以进行修改。

  

步骤也是脚本,但它们只在运行中的机器上运行   集群的主实例组。这种机制允许   像Zookeeper这样的应用程序来配置主实例和   允许Hbase和Apache Drill等应用程序进行配置   自己。

Reference

另见this