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详解[三]
    • category详解[一]
      • 2. category 属性的实际意义与用法
        • 2.1. metainfo.xml 中的角色定义与场景举例
        • Redis 组件配置举例
        • Redis category 属性在平台中的实际效果
        • HDFS 组件配置举例
        • HDFS 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
目录

category详解[一]

# 2. category 属性的实际意义与用法 基础原理

# 2.1. metainfo.xml 中的角色定义与场景举例

在 Ambari 的 metainfo.xml 文件里,category 属性决定了一个服务组件的角色定位。它不仅用于区分主从、客户端,还直接影响平台页面的分组呈现与自动化部署控制。必备基础

# Redis 组件配置举例

常见场景中,Redis 会在 metainfo 里区分主节点、从节点和客户端,每一类角色都用 category 明确标注。

  • 主节点(MASTER) Redis Master 负责所有写入操作,同时管理数据的主从同步。设置为 MASTER 后,用户在安装页面会被引导去指定主节点部署位置。

    <component>
        <name>REDIS_MASTER</name>
        <displayName>Redis Master</displayName>
        <category>MASTER</category> <!-- 该组件定义为主节点 -->
        <versionAdvertised>true</versionAdvertised>
        <commandScript>
            <script>scripts/redis_master.py</script> <!-- 控制 Redis Master 的脚本 -->
            <scriptType>PYTHON</scriptType>
        </commandScript>
    </component>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

提示

通过 category="MASTER",Ambari 能在“主节点”分组下高亮 Redis Master,确保主写实例只会部署在选定服务器。

  • 从节点(SLAVE) Redis Slave 负责数据的冗余与容灾,自动跟主节点同步数据,提升集群的高可用性。

    <component>
        <name>REDIS_SLAVE</name>
        <displayName>Redis Slave</displayName>
        <category>SLAVE</category> <!-- 该组件定义为从节点 -->
        <versionAdvertised>true</versionAdvertised>
        <commandScript>
            <script>scripts/redis_slave.py</script> <!-- 控制 Redis Slave 的脚本 -->
            <scriptType>PYTHON</scriptType>
        </commandScript>
    </component>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

笔记

配置为 SLAVE 的组件会在“从节点”页面展示,用户可灵活选取一台或多台服务器部署,支持水平扩展。

  • 客户端(CLIENT) Redis Client 组件用于部署命令行工具或 API 接口,实现与 Redis 服务端交互。

    <component>
        <name>REDIS_CLIENT</name>
        <displayName>Redis Client</displayName>
        <category>CLIENT</category> <!-- 该组件定义为客户端 -->
        <versionAdvertised>true</versionAdvertised>
        <commandScript>
            <script>scripts/redis_client.py</script>
            <scriptType>PYTHON</scriptType>
        </commandScript>
    </component>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

提示

CLIENT 组件一般出现在客户端节点分组,允许你在任意管理节点、跳板机、业务主机等批量部署客户端工具。

# Redis category 属性在平台中的实际效果
  • 页面分组自动化 —— MASTER、SLAVE、CLIENT 会在不同节点选择界面出现,极大简化了部署流程。
  • 节点控制更细 —— Ambari 能精确引导用户配置“主写”、“数据同步”、“运维交互”三类不同角色的节点数量和分布。

# HDFS 组件配置举例

HDFS 作为大数据存储基础组件,同样利用 category 明确主从/客户端结构。

  • 主节点(MASTER)

    NameNode 作为元数据服务核心,是整个文件系统的调度中枢。

    <component>
        <name>HDFS_NAMENODE</name>
        <displayName>HDFS NameNode</displayName>
        <category>MASTER</category> <!-- 该组件定义为主节点 -->
        <commandScript>
            <script>scripts/namenode.py</script>
            <scriptType>PYTHON</scriptType>
        </commandScript>
    </component>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

提示

NameNode 通过 MASTER 分类,在“主节点”界面直观呈现,通常只允许部署 1~2 个(单活/高可用)。

  • 从节点(SLAVE)

    DataNode 提供分布式存储能力,承载数据实际块的读写任务。

    <component>
        <name>HDFS_DATANODE</name>
        <displayName>HDFS DataNode</displayName>
        <category>SLAVE</category> <!-- 该组件定义为从节点 -->
        <commandScript>
            <script>scripts/datanode.py</script>
            <scriptType>PYTHON</scriptType>
        </commandScript>
    </component>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

笔记

DataNode 被分类为 SLAVE,可在任意数量的服务器上分布式部署,弹性扩展存储容量。

  • 客户端(CLIENT)

    HDFS 客户端用于与文件系统通信,支持上传下载及各种命令操作。

    <component>
        <name>HDFS_CLIENT</name>
        <displayName>HDFS Client</displayName>
        <category>CLIENT</category> <!-- 该组件定义为客户端 -->
        <commandScript>
            <script>scripts/client.py</script>
            <scriptType>PYTHON</scriptType>
        </commandScript>
    </component>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9

提示

只要你有客户端需求,可以任意部署 HDFS_CLIENT 组件,不限制数量与位置,方便所有业务节点访问 HDFS。

# HDFS category 属性的实际作用
category 组件名称 平台页面分组 部署场景
MASTER NameNode 主节点 通常单点/双活高可用
SLAVE DataNode 从节点 任意分布、弹性伸缩
CLIENT HDFS Client 客户端 提供交互与文件操作入口

合理利用 category 分类,能帮助集群管理员实现分布式系统主从/客户端结构的可视化管理和部署自动化,降低部署复杂度并减少手动配置出错率。

#Ambari#metainfo#category#分布式部署#组件角色#HDFS#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
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式