更新时间:2024-10-11 GMT+08:00

创建自定义拓扑集群

MRS当前提供的“分析集群”、“流式集群”和“混合集群”采用固定模板进行部署集群的进程,无法满足用户自定义部署管理角色和控制角色在集群节点中的需求。如需自定义集群部署方式,可在创建集群时的“集群类型”选择“自定义”,实现用户自主定义集群的进程实例在集群节点中的部署方式。仅MRS 3.x及之后版本支持创建自定义拓扑集群。

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

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

MRS集群中角色类型:

  • 管理角色:Management Node(MN),安装Manager,即MRS集群的管理系统,提供统一的访问入口。Manager对部署在集群中的节点及服务进行集中管理。
  • 控制角色:Control Node(CN),控制监控数据角色执行存储数据、接收数据、发送进程状态及完成控制节点的公共功能。 MRS的控制节点包括HMaster、HiveServer、ResourceManager、NameNode、JournalNode、SlapdServer等。
  • 数据角色:Data Node(DN),执行管理角色发出的指示,上报任务状态、存储数据,以及执行数据节点的公共功能。MRS的数据节点包括DataNode、RegionServer、NodeManager等。

创建自定义集群

  1. 登录MRS管理控制台。
  2. 单击“创建集群”,进入“创建集群”页面。
  3. 创建集群页面,选择“自定义创建”页签。
  4. 参考下列参数说明配置集群软件信息,参数详细信息请参考软件配置

    • 区域:默认即可。
    • 集群名称:可以设置为系统默认名称,但为了区分和记忆,建议带上项目拼音缩写或者日期等。例如:“mrs_20180321”。
    • 集群版本:目前仅MRS 3.x版本支持。
    • 集群类型:选择“自定义”并根据需要勾选对应组件。

  5. 单击“下一步”,并配置硬件信息。

    • 跨可用区部署:默认即可。MRS 3.1.0-LTS.1及其之后版本支持。
    • 可用区:默认即可。
    • 虚拟私有云:默认即可。如果没有虚拟私有云,请单击“查看虚拟私有云”进入虚拟私有云,创建一个新的虚拟私有云。
    • 子网:默认即可。
    • 安全组:选择“自动创建”。
    • 弹性公网IP:选择“暂不绑定”。
    • 企业项目:默认即可。
    • CPU架构:默认即可。MRS 3.2.0-LTS.1及之后版本支持该参数。
    • 常用模板:具体说明请参见自定义集群模板说明
    • 实例规格:单击配置实例规格、系统盘和数据盘存储类型和存储空间。
    • 实例数量:请根据业务量调整集群实例数量。具体可参考表2
    • 拓扑调整:若常用模板中的部署方式不满足需求或者需要手动安装部分默认安装不部署的实例或者需要手动安装部分实例时,请设置“拓扑调整”为“开启”,然后根据业务需要调整实例部署方式,具体说明请参见自定义集群拓扑调整说明

  6. 单击“下一步”进入高级配置页签。

    参数说明请参见高级配置(可选)

  7. 单击“立即创建”。

    当集群开启Kerberos认证时,需要确认是否需要开启Kerberos认证,若确认开启请单击“继续”,若无需开启Kerberos认证请单击“返回”关闭Kerberos认证后再创建集群。

  8. 单击“返回集群列表”,可以查看到集群创建的状态。

    集群创建需要时间,所创集群的初始状态为“启动中”,创建成功后状态更新为“运行中”,请您耐心等待。

自定义集群模板说明

表1 自定义集群常用模板说明

常用模板

说明

节点数量范围

管控合设

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

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

管控分设

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

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

数据分设

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

  • Master节点数量大于等于9个,小于等于11个。
  • 节点组数量总和小于等于10个,非Master节点组中节点数量总和小于等于10000个。
表2 MRS自定义集群节点部署方案

节点部署原则

适用场景

组网规则

管理节点、控制节点和数据节点分开部署

(此方案至少需要8个节点)

MN × 2 + CN × 9 + DN × n

(推荐)数据节点数500-2000时采用此方案

  • 集群节点数超过200时,各节点划分到不同子网,各子网通过核心交换机三层互联,每个子网的节点数控制在200个以内,不同子网中节点数量请保持均衡。
  • 集群节点数低于200时,各节点部署在同一子网,集群内通过汇聚交换机二层互联。

MN × 2 + CN × 5 + DN × n

(推荐)数据节点数100-500时采用此方案

MN × 2 + CN × 3 + DN × n

(推荐)数据节点数30-100时采用此方案

管理节点和控制节点合并部署,数据节点单独部署

(MN+CN) × 3 + DN × n

(推荐)数据节点数3-30时采用此方案

集群内节点部署在同一子网,集群内通过汇聚交换机二层互联。

管理节点、控制节点和数据节点合并部署

  • 节点数小于6的集群使用此方案
  • 此方案至少需要3个节点
说明:

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

  • 管理节点、控制节点和数据节点合并部署时,集群性能和可靠性都会产生较大影响。
  • 如节点数量满足需求,建议将数据节点单独部署。
  • 如节点数量不满足将数据节点单独部署的要求,必须使用此场景时,需要使用双平面组网方式。将管理网络与业务网络流量隔离,防止业务平面的数据量过大,导致管理操作不能正常下发。

集群内节点部署在同一子网,集群内通过汇聚交换机二层互联。

自定义集群拓扑调整说明

表3 拓扑调整说明

服务名称

依赖关系

角色名称

角色业务部署建议

说明

OMSServer

-

OMSServer

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

-

ClickHouse

依赖ZooKeeper

CHS(ClickHouseServer)

所有节点均可部署。

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

部署了该角色的非Master节点组会被认为是Core节点类型。

CLB(ClickHouseBalancer)

所有节点均可部署。

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

-

ZooKeeper

-

QP(quorumpeer)

只能部署在Master节点上。

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

-

Hadoop

依赖ZooKeeper

NN(NameNode)

只能部署在Master节点上。

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

NameNode与Zkfc进程共机部署用于集群高可用

HFS(HttpFS)

只能部署在Master节点上。

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

-

JN(JournalNode)

只能部署在Master节点上。

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

-

DN(DataNode)

所有节点均可部署。

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

部署了该角色的非Master节点组会被认为是Core节点类型。

RM(ResourceManager)

只能部署在Master节点上。

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

-

NM(NodeManager)

所有节点均可部署。

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

-

JHS(JobHistoryServer)

只能部署在Master节点上。

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

-

TLS(TimelineServer)

只能部署在Master节点上。

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

-

Presto

依赖Hive

PCD(Coordinator)

只能部署在Master节点上。

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

-

PWK(Worker)

所有节点均可部署。

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

-

Spark2x

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

JS2X(JDBCServer2x)

只能部署在Master节点上。

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

-

JH2X(JobHistory2x)

只能部署在Master节点上。

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

-

SR2X(SparkResource2x)

只能部署在Master节点上。

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

-

IS2X(IndexServer2x)

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

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

-

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服务需安装此实例。

Hive

  • 依赖Hadoop
  • 依赖DBService

MS(MetaStore)

只能部署在Master节点上。

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

-

WH(WebHCat)

只能部署在Master节点上。

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

-

HS(HiveServer)

只能部署在Master节点上。

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

-

Hue

依赖DBService

H(Hue)

只能部署在Master节点上。

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

-

Sqoop

依赖Hadoop

SC(SqoopClient)

所有节点均可部署。

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

-

Kafka

依赖ZooKeeper

B(Broker)

所有节点均可部署。

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

-

Flume

-

MS(MonitorServer)

只能部署在Master节点上。

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

-

F(Flume)

所有节点均可部署。

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

部署了该角色的非Master节点组会被认为是Core节点类型。

Tez

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

TUI(TezUI)

只能部署在Master节点上。

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

-

Flink

  • 依赖ZooKeeper
  • 依赖Hadoop

FR(FlinkResource)

所有节点均可部署。

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

-

FS(FlinkServer)

所有节点均可部署。

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

-

Oozie

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

O(oozie)

只能部署在Master节点上。

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

-

Impala

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

StateStore

只能部署在Master节点上。

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

-

Catalog

只能部署在Master节点上。

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

-

Impalad

所有节点均可部署。

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

-

Kudu

-

KuduMaster

只能部署在Master节点上。

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

-

KuduTserver

所有节点均可部署。

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

-

Ranger

依赖DBservice

RA(RangerAdmin)

只能部署在Master节点上。

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

-

USC(UserSync)

只能部署在Master节点上。

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

-

TSC(TagSync)

所有节点均可部署。

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

-