如果我的节点在使用cassandra的集群中正常运行,那么用ansible任务检查的最佳方法是什么

fkaflof6  于 2021-06-14  发布在  Cassandra
关注(0)|答案(1)|浏览(275)

我有一个运行cassandra3.11.4的集群,有5个节点。我使用ansible来运行任务,我有一个特定的任务,我只想在所有节点都正常的情况下运行。我试着用 nodetool status 以及 nodetool describecluster 并检查其输出,但有更好的解决方案吗?

gxwragnw

gxwragnw1#

让我们看看下面的清单

$ 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

如果任何节点在超时秒内未在监视器端口响应,则下面的播放将失败(使变量适合您的需要。)

- 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

(未测试)

相关问题