如何让Ansible在我的所有6个计算节点上执行bash代码,而不是5个然后1个?

如何让Ansible在我的所有6个计算节点上执行bash代码,而不是5个然后1个?,ansible,Ansible,我在头节点上使用Ansible与6个计算节点通信。我设置了我的Ansible/etc/Ansible/hosts,以指示我的6个计算节点的IP地址。然后,我通过Ansible传递命令,例如: ansible all-m shell-a“sudo cat/sys/devices/system/cpu/cpu0/cpufreq/scaling\u调控器”-u root 但是,前5个计算节点返回必要的信息,但随后会暂停,最后第六个节点也会返回。我使用了/etc/ansible/hosts文件,发现在列

我在头节点上使用Ansible与6个计算节点通信。我设置了我的Ansible
/etc/Ansible/hosts
,以指示我的6个计算节点的IP地址。然后,我通过Ansible传递命令,例如:

ansible all-m shell-a“sudo cat/sys/devices/system/cpu/cpu0/cpufreq/scaling\u调控器”-u root

但是,前5个计算节点返回必要的信息,但随后会暂停,最后第六个节点也会返回。我使用了
/etc/ansible/hosts
文件,发现在列出的6个IP地址中,有暂停的总是最后一个IP地址;我们谈论的是哪个计算节点并不重要


如果我运行一个计算密集型命令,比如通过ansible查找素数,那么前5个命令同时出现,最后一个命令只在前5个命令完成后执行。发生了什么事?为什么我不能同时向所有节点发送命令?

好的,所以我找到了答案。Ansible附带一个默认的平行叉设置,设置为5。您可以在
/etc/ansible/ansible.cfg
文件中对此进行更改。我把它改为6,现在一切都很好

使用
-f
参数指定要使用的并行进程数

ansible all -m shell -a "sudo cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor" -u root -f 6

谢谢你的提示