首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Salt堆栈orch状态下成功返回任何或两个成功的仆从?

如何在Salt堆栈orch状态下成功返回任何或两个成功的仆从?
EN

Stack Overflow用户
提问于 2021-09-20 13:35:27
回答 1查看 80关注 0票数 0

我试图编写一些业务流程状态,以便将HBase转换为高可用模式。要做到这一点,有两个检查要求:

  1. 数据节点进程必须在ALL节点上启动和运行。
  2. HRegion进程必须在ALL节点上启动和运行。
  3. 转换后,namenode进程必须仅在two节点上启动和运行。

g 210

因此,我得到了ALL隐式免费。

代码语言:javascript
运行
复制
{# If all minions passed, then this will pass #}
2_1_example_pod_is_dn_running:
  salt.function:
    - name: cmd.run
    - tgt: 'G@stype:hbase and G@pod_name:example_pod'
    - tgt_type: compound
    - arg:
      - ps aux | grep datanode
    - failhard: True

但是如何检查一两个any呢?

代码语言:javascript
运行
复制
{# Pseduo code. This won't work. #}
2_3_example_pod_is_nn_running:
    - name: cmd.run
    - tgt: 'G@stype:hbase and G@pod_name:example_pod'
    - tgt_type: compound
    - arg:
      - ps aux | grep namenode
    - successful_count: 2   {# <== namenode process has to be running on two minions #}
    - failhard: True
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-14 21:39:57

所以,你想要的是知道哪些奴才应该“失败”检查。如果您知道,您可以使用fail_minions标记将不会有namenode的仆从。

对于这样的事情,几乎总是要么是具体的。当你设置它的时候,你就会知道哪个奴才会有namenode。或者,要跳过检查,使用子集仅在2台服务器上启动namenode。子集将随机选择目标仆从子集的服务器数量,并仅在该子集上运行命令。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69255362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档