如何SSH到EC2群集中的所有实例?

我刚刚使用spark-ec2创build了一个集群。 我遵循这里的步骤http://spark.apache.org/docs/latest/ec2-scripts.html 。

现在我想要configuration所有的从站(150),即为所有的主站和所有从站同时安装Java 8,是否有一个快速而简单的方法来为所有实例(主站和从站)提供一个terminal?

如果您安装了该代理,则可以使用EC2 Run Command来完成此操作,不过它可能更适合您为每个实例放入用户数据的Cloud-Initconfiguration。

或者,可以考虑在启动时使用AWS OpsWorks来根据需要configuration节点,或者使用Packer生成一个黄金映像,以便将configuration置于构build时间而不是引导时间。

通过cluster-sshconfiguration150个节点是在所有节点中存在不一致的一个方法,如果其中一个节点需要更换/重新configuration,将会很麻烦。

Ansible,Puppet,Salt,CFEngine是其他工具,可以做到这一点,但不能“交互式”。

为了回应您原来的问题,您可以安装mpssh-Mass Parallel SSH并使用它在您的所有实例上运行命令。 第一次运行它时,除非要忽略主机密钥检查,否则可能需要键入“是”150次。

使用pssh可能是一个好的解决scheme。 这是一个例子。

 pssh -i -h /root/spark-ec2/slaves dir 

dir命令将在所有从属设备上运行。 pssh预装在所有群集上。