TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)
  • 方法论

  • 代码生命周期-metainfo

    • 加载原理深度剖析[一]
    • 加载原理深度剖析[二]
    • 加载原理深度剖析[三]
    • 结构与层级深入解读
    • configFile详解[一]
    • configFile详解[二]
    • cardinality详解[一]
    • cardinality详解[二]
    • cardinality详解[三]
      • 2.3 结合 Redis 场景说明
        • 典型 metainfo 配置示例
        • Ambari 校验链路回顾
        • 场景总结与实战价值
    • category详解[一]
    • category详解[二]
    • category详解[三]
    • theme详解[一]
    • theme详解[二]
    • theme详解[三]
    • commandScript详解[二]
    • commandScript详解[一]
    • commandScript详解[三]
    • customCommand详解[一]
    • customCommand详解[二]
    • customCommand详解[三]
    • requiredServices详解[一]
    • requiredServices详解[二]
    • osSpecifics详解[一]
    • osSpecifics详解[二]
    • osSpecifics详解[三]
    • quicklinks详解[一]
    • quicklinks详解[二]
    • quicklinks详解[三]
    • quicklinks详解[四]
  • 架构剖析

  • UI样式

  • GOD-Ambari
  • 代码生命周期-metainfo
JaneTTR
2025-06-01
目录

cardinality详解[三]

# 2.3 结合 Redis 场景说明 场景实战

在大数据与中间件平台实际部署中,不同组件往往对分布式实例数量有严格要求。以 Redis 为例,我们可以通过 metainfo 配置 cardinality 的方式,精准约束主节点数量。

# 典型 metainfo 配置示例

下面是 Redis Master 组件的 metainfo.xml 片段:


<component>
    <name>REDIS_MASTER</name>
    <displayName>Redis Master</displayName>
    <category>MASTER</category>
    <cardinality>3+</cardinality> <!-- 至少需要 3 个主节点 -->
    <versionAdvertised>true</versionAdvertised>
    <commandScript>
        <script>scripts/redis_master.py</script>
        <scriptType>PYTHON</scriptType>
    </commandScript>
</component>
1
2
3
4
5
6
7
8
9
10
11
12

解读

cardinality 配置为 3+,即 Redis Master 必须至少部署 3 个实例,确保高可用和主从切换能力。此项校验可有效防止因节点数量不足导致的主节点单点故障。

# Ambari 校验链路回顾

  • 配置解析:在安装流程中,Ambari 首先通过 Java 层解析 metainfo.xml,识别出所有组件的 cardinality 约束。
  • 校验调度:Java 后端自动把实际节点分配信息和 metainfo 配置一起传递给 StackAdvisor 校验引擎。
  • 脚本执行:Python StackAdvisor 脚本依据 blueprint 和 cluster 绑定,对节点数量进行逐项检查,严格按照 cardinality 规则甄别部署方案。
校验阶段 说明
配置识别 解析 metainfo.xml,识别 <cardinality>3+</cardinality> 配置
部署参数传递 Blueprint/Host Groups 信息传递给 StackAdvisor 脚本
校验反馈 不足 3 个主节点时,接口直接返回 ERROR,终止部署流程

# 场景总结与实战价值

笔记

通过在 metainfo.xml 配置 <cardinality>,Ambari 能够将分布式高可用要求内置于平台自动化校验体系:

  • 有效防止节点分配不合理,减少人工巡检和误操作。
  • 部署阶段自动终止风险场景,避免隐患上线。
  • Java 负责全流程调度和异常捕捉,Python 脚本做落地校验,提升系统健壮性和运维效率。

Redis 只是典型代表,几乎所有强一致性组件(如 Zookeeper、HBase Master、YARN ResourceManager 等)都可以利用此机制,平台集成时建议始终结合 metainfo 配置自动化部署约束。

#Ambari#cardinality#metainfo#Redis#自动化校验
cardinality详解[二]
category详解[一]

← cardinality详解[二] category详解[一]→

最近更新
01
Pandoc 缺失导致 SparkR 构建失败
06-08
02
Cyrus SASL/GSASL 缺失解决
06-07
03
Hadoop_3.3.4 编译实战 1.0.0+
06-06
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式