更新时间:2024-09-04 GMT+08:00

MRS集群部署方案说明

MRS当前提供的“分析集群”、“流式集群”和“混合集群”采用固定模板进行部署集群的进程,无法满足用户自定义部署管理角色和控制角色在集群节点中的需求。

如需自定义集群部署方式,可在创建集群时的“集群类型”选择“自定义”,实现用户自主定义集群的进程实例在集群节点中的部署方式。

仅MRS 3.x及之后版本支持创建自定义拓扑集群。

自定义集群可实现以下功能:

  • 管控分离部署,管理角色和控制角色分别部署在不同的Master节点中。
  • 管控合设部署,管理角色和控制角色共同部署在Master节点中。
  • 组件分开部署,避免资源争抢。

MRS集群部署类型说明

表1 MRS集群部署类型

常用模板

说明

节点数量范围

管控合设

管理角色和控制角色共同部署在Master节点中,数据实例合设在同一节点组。该部署方式适用于100个以下的节点,可以减少成本。

  • Master节点数量大于等于3个,小于等于11个。
  • 节点组数量总和小于等于10个,非Master节点组中节点数量总和小于等于10000个。

管控数合设

生产环境或商用环境不推荐使用此场景。

管理节点、控制节点和数据节点合并部署时,集群性能和可靠性都会产生较大影响。

如节点数量满足需求,建议将数据节点单独部署。

  • Master节点数量大于等于3个,小于等于100个。
  • 节点组数量总和小于等于10个。

管控分设

管理角色和控制角色分别部署在不同的Master节点中,数据实例合设在同一节点组。该部署方式适用于100-500个节点,在高并发负载情况下表现更好。

  • Master节点数量大于等于5个,小于等于11个。
  • 节点组数量总和小于等于10个,非Master节点组中节点数量总和小于等于10000个。

数据分设

管理角色和控制角色分别部署在不同的Master节点中,数据实例分设在不同节点组。该部署方式适用于500个以上的节点,可以将各组件进一步分开部署,适用于更大的集群规模。

  • Master节点数量大于等于9个,小于等于11个。
  • 节点组数量总和小于等于10个,非Master节点组中节点数量总和小于等于10000个。

MRS集群服务角色部署规则说明

MRS系统由多种服务按照一定的逻辑架构组合而成,每个服务包含一个或多个角色,每个角色可以部署一个或多个实例。

  • 服务:服务对外表现为集群提供的组件业务能力,集群中的每个组件对应一个服务名,提供一种服务。
  • 角色:角色是服务的组成要素,每个服务由一个或多个角色组成,服务通过角色安装到节点(即服务器)上,保证服务正常运行。
  • 实例:当一个服务的角色安装到节点上,即形成一个实例。每个服务有各自对应的角色实例。

各服务的部署原则如MRS集群部署方案说明所示。

  • A依赖于B(服务级):若集群中部署A服务,需要提前部署B服务,B为A提供基础能力。
  • A关联于B(服务级):A服务与B服务在业务进行中会产生数据交互,不存在部署上的依赖关系。
  • A与B共机部署(角色级):若集群中部署A角色,需要同时部署B角色,且A与B需要部署在相同的节点上。
表2 MRS集群角色部署规则

服务名称

依赖关系

角色名称

角色业务部署建议

OMSServer

-

OMSServer

部署在Master节点上,不支持修改。

ClickHouse

依赖ZooKeeper

CHS(ClickHouseServer)

所有节点均可部署。

角色实例部署数量范围:2~256,必须为偶数个。

CLB(ClickHouseBalancer)

所有节点均可部署。

角色实例部署数量范围:2~256。

Flink

  • 依赖ZooKeeper
  • 依赖KrbServer
  • 依赖DBService
  • 依赖Hadoop

FR(FlinkResource)

所有节点均可部署。

角色实例部署数量范围:1~10000。

FS(FlinkServer)

所有节点均可部署。

角色实例部署数量范围:0~2。

Flume

-

MS(MonitorServer)

只能部署在Master节点上。

角色实例部署数量范围:1~2。

F(Flume)

所有节点均可部署。

角色实例部署数量范围:1~10000。

Hadoop

依赖ZooKeeper

NN(NameNode)

只能部署在Master节点上。

角色实例部署数量范围:2。

HFS(HttpFS)

只能部署在Master节点上。

角色实例部署数量范围:0~10。

JN(JournalNode)

只能部署在Master节点上。

角色实例部署数量范围:3~60,步长为2。

DN(DataNode)

所有节点均可部署。

角色实例部署数量范围:3~10000。

RM(ResourceManager)

只能部署在Master节点上。

角色实例部署数量范围:2。

NM(NodeManager)

所有节点均可部署。

角色实例部署数量范围:3~10000。

JHS(JobHistoryServer)

只能部署在Master节点上。

角色实例部署数量范围:1~2。

TLS(TimelineServer)

只能部署在Master节点上。

角色实例部署数量范围:0~1。

HBase

依赖Hadoop

HM(HMaster)

只能部署在Master节点上。

角色实例部署数量范围:2。

TS(ThriftServer)

所有节点均可部署。

角色实例部署数量范围:0~10000。

RT(RESTServer)

所有节点均可部署。

角色实例部署数量范围:0~10000。

RS(RegionServer)

所有节点均可部署。

角色实例部署数量范围:3~10000。

TS1(Thrift1Server)

所有节点均可部署。

角色实例部署数量范围:0~10000。

若集群安装了Hue服务并且需要在Hue WebUI使用HBase,HBase服务需安装此实例。

HetuEngine

  • 依赖Hadoop
  • 依赖DBService
  • 依赖Hive
  • 依赖ZooKeeper
  • 依赖KrbServer
  • 依赖Yarn
  • 依赖HDFS

HSB(HSBroker)

所有节点均可部署。

角色实例部署数量范围:2~50。

HSC(HSConsole)

所有节点均可部署。

角色实例部署数量范围:2。

HSF(HSFabric)

所有节点均可部署。

角色实例部署数量范围:0~50。

QAS(仅适用于MRS 3.2.0-LTS.1及以后版本)

所有节点均可部署。

角色实例部署数量范围:0~2。

Hive

  • 依赖Hadoop
  • 依赖DBService

MS(MetaStore)

只能部署在Master节点上。

角色实例部署数量范围:2~10。

WH(WebHCat)

只能部署在Master节点上。

角色实例部署数量范围:1~10。

HS(HiveServer)

只能部署在Master节点上。

角色实例部署数量范围:2~80。

Hue

依赖DBService

H(Hue)

只能部署在Master节点上。

角色实例部署数量范围:2。

Impala

  • 依赖Hadoop
  • 依赖Hive
  • 依赖DBService
  • 依赖ZooKeeper

StateStore

只能部署在Master节点上。

角色实例部署数量范围:1。

Catalog

只能部署在Master节点上。

角色实例部署数量范围:1。

Impalad

所有节点均可部署。

角色实例部署数量范围:1~10000。

IoTDB

依赖KrbServer

CN(ConfigNode)

只能部署在Master节点上。

角色实例部署数量范围:3~9,步长为2。

IoTDBS(IoTDBServer)

所有节点均可部署。

角色实例部署数量范围:3~256。

Kafka

依赖ZooKeeper

B(Broker)

所有节点均可部署。

角色实例部署数量范围:3~10000。

Kudu

-

KuduMaster

只能部署在Master节点上。

角色实例部署数量范围:3或者5。

KuduTserver

所有节点均可部署。

角色实例部署数量范围:3~10000。

Loader

  • 依赖Hadoop
  • 依赖DBService

LS(LoaderServer)

只能部署在Master节点上。

角色实例部署数量范围:2。

Oozie

  • 依赖Hadoop
  • 依赖DBService
  • 依赖ZooKeeper

O(oozie)

只能部署在Master节点上。

角色实例部署数量范围:2。

Presto

依赖Hive

PCD(Coordinator)

只能部署在Master节点上。

角色实例部署数量范围:2。

PWK(Worker)

所有节点均可部署。

角色实例部署数量范围:1~10000。

Ranger

依赖DBService

RA(RangerAdmin)

只能部署在Master节点上。

角色实例部署数量范围:1~2。

USC(UserSync)

只能部署在Master节点上。

角色实例部署数量范围:1。

TSC(TagSync)

所有节点均可部署。

角色实例部署数量范围:0~1。

Spark

  • 依赖Hadoop
  • 依赖Hive
  • 依赖ZooKeeper

JS(JDBCServer)

只能部署在Master节点上。

角色实例部署数量范围:1~2。

JH(JobHistory)

只能部署在Master节点上。

角色实例部署数量范围:1~2。

SR(SparkResource)

只能部署在Master节点上。

角色实例部署数量范围:1~2。

Spark2x

  • 依赖Hadoop
  • 依赖Hive
  • 依赖ZooKeeper

JS2X(JDBCServer2x)

只能部署在Master节点上。

角色实例部署数量范围:2~10。

JH2X(JobHistory2x)

只能部署在Master节点上。

角色实例部署数量范围:2。

SR2X(SparkResource2x)

只能部署在Master节点上。

角色实例部署数量范围:2~50。

IS2X(IndexServer2x)

(可选)只能部署在Master节点上。

角色实例部署数量范围:0~2,步长为2。

Sqoop

依赖Hadoop

SC(SqoopClient)

所有节点均可部署。

角色实例部署数量范围:1~10000。

Tez

  • 依赖Hadoop
  • 依赖DBService
  • 依赖ZooKeeper

TUI(TezUI)

只能部署在Master节点上。

角色实例部署数量范围:1~2。

ZooKeeper

-

QP(quorumpeer)

只能部署在Master节点上。

角色实例部署数量范围:3~9,步长为2。