2015-12-04 30 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:」參數。

讓我知道它是怎麼回事。