Ansible错误:“错误:主机不是Ansible任务或处理程序中的合法参数”

时间:2015-12-04 19:08:25

标签: ansible ansible-playbook

我刚刚将spark_master和spark_workers添加到site.yml文件中。但是,当我使用库存文件运行ansible-playbook时,我不断收到此错误:ERROR: hosts is not a legal parameter in an Ansible task or handler。如果我删除spark_master和spark_workers,它将运行正常。我的ansible版本是1.9.4,python版本2.7.10

site.yml:

---
# The main playbook to deploy the site

- hosts: hadoop_all
  sudo: yes
  roles:
   - hadoop_common

- hosts: hadoop_master_primary
  roles:
  - { role: hadoop_primary }

- hosts: hadoop_slaves
  roles:
  - { role: hadoop_slaves }

- hosts: spark_master
  roles:
  - { role: spark_master }

- hosts: spark_workers
  roles:
  - { role: spark_workers }

inventory_file:

[hadoop_all:children]
hadoop_masters
hadoop_slaves
hadoop_clients

[hadoop_master_primary]
hadoopmaster ansible_ssh_host=192.168.50.11

[hadoop_master_secondary]

[hadoop_masters:children]
hadoop_master_primary
hadoop_master_secondary

[hadoop_slaves]
hadoopslave1 ansible_ssh_host=192.168.50.12
hadoopslave2 ansible_ssh_host=192.168.50.13
hadoopslave3 ansible_ssh_host=192.168.50.14

[hadoop_clients]
hadoopclient1 ansible_ssh_host=192.168.50.15

[spark_master]
hadoopmaster

[spark_workers]
hadoopslave1
hadoopslave2
hadoopslave3

1 个答案:

答案 0 :(得分:0)

您的site.yml文件没有任何问题。但是,我绝对认为你可能已经放置了" - 主持人:"其中一个角色中的参数' "任务/ main.yml"文件。既然你说没有spark_master和spark_workers你的游戏运行良好,我怀疑罪魁祸首是" tasks / main.yml"提交这两个角色之一。

我能够通过运行你的site.yml来重现你的问题,但是添加了不必要的" - 主机:"本地角色中的参数。

让我知道它是怎么回事。