【发布时间】:2015-04-04 20:03:58
【问题描述】:
尝试运行我的 Ansible 并遇到问题。 这是我的主机文件:
[dse]
node1 192.168.56.10
node2 192.168.56.20
node3 192.168.56.30
[opscenter]
opscenter 192.168.56.40
[sparkmasters]
node3 192.168.56.30
[sparkworkers]
node1 192.168.56.10
node2 192.168.56.20
node3 192.168.56.30
这是我的 yml 的一部分:
---
- hosts: [ "node1", "node2", "node3", "node4" ]
user: vagrant
sudo: True
vars:
username: spark
tasks:
- include: some tasks
roles:
- some roles
- hosts: sparkmasters
vars:
spark.version: 1.2
roles:
- spark_master
- hosts: sparkworkers
vars:
spark.version: 1.2
roles:
- spark_workers
我看到 [ "node1", "node2", "node3", "node4" ] 运行,但是 hosts: sparkmasters 和 hosts: sparkworkers 被跳过并显示以下消息:
播放 [sparkmasters] ****************************************************** ********* 跳过:没有匹配的主机
播放 [sparkworkers] ****************************************************** ********* 跳过:没有匹配的主机
播放回顾 ****************************************************** ****************** 节点1:正常=21 已更改=12 无法访问=0
失败=0==> node1:正在运行的供应商:ansible...
不知道为什么。如果我将组名更改为主机数组,那么它开始工作......
我做错了什么?
所以我添加了调试:
- name: Display hostvars
debug: var=hostvars
看看这个:
"hostvars": {
"node1": {
"ansible_all_ipv4_addresses": [
"10.0.2.15",
"192.168.56.10"
],
这个巨大的 json 包含更多与我的主机相关的元数据 我不明白,我应该在那里看到什么?我没有找到与当前主机组信息相关的任何信息
【问题讨论】:
-
除了去除所有不需要的空间之外,您可能想做的唯一另一件事是
debug: msg="hostvars={{hostvars}}"并查看它以查看ansible从库存文件中读取的所有组和主机。
标签: apache-spark ansible