2015-12-04 24 views
0

我刚刚将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.10Ansible错误:“错误:主机不是Ansible任务或处理程序中的合法参数”

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 

回答

0

没有什么不对您的site.yml文件。但是,我肯定认为你可能已经在“tasks/main.yml”文件中的一个角色中放置了“ - hosts:”参数。既然你说你的游戏没有spark_master和spark_workers运行正常,我怀疑罪魁祸首是“tasks/main.yml”文件中的这两个角色之一。

我能够通过运行site.yml来重现您的问题,但在本地角色中添加了不必要的“ - Hosts:”参数。

让我知道它是怎么回事。