我刚刚将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
答案 0 :(得分:0)
您的site.yml文件没有任何问题。但是,我绝对认为你可能已经放置了" - 主持人:"其中一个角色中的参数' "任务/ main.yml"文件。既然你说没有spark_master和spark_workers你的游戏运行良好,我怀疑罪魁祸首是" tasks / main.yml"提交这两个角色之一。
我能够通过运行你的site.yml来重现你的问题,但是添加了不必要的" - 主机:"本地角色中的参数。
让我知道它是怎么回事。