我有一个运行cassandra 3.11.4的群集,其中有5个节点。我正在使用ansible运行任务,并且我有一个特定的任务,我只想在所有节点都正常运行的情况下运行。我尝试使用nodetool status
和nodetool describecluster
并检查其输出,但是有更好的解决方案吗?
答案 0 :(得分:0)
下面有库存
$ cat hosts
[nodes]
192.168.50.4 node0
192.168.50.5 node1
192.168.50.6 node2
192.168.50.7 node3
192.168.50.8 node4
192.168.50.9 node5
如果任何节点在 timeout 秒内未在 monitor 端口响应,则以下播放失败。 (根据您的需要调整变量。)
- hosts: localhost
vars:
monitor: 7199
timeout: 5
tasks:
- wait_for:
port: "{{ monitor }}"
host: "{{ item }}"
timeout: "{{ timeout }}"
msg: "{{ item }} is not running. End of play."
loop: "{{ groups['nodes'] }}"
要检查所有节点是否忽略潜在错误,请注册并查看结果。
ignore_errors: yes
register: results
(未经测试)