MRS集群部署方案说明
MRS当前提供的“分析集群”、“流式集群”和“混合集群”采用固定模板进行部署集群的进程,无法满足用户自定义部署管理角色和控制角色在集群节点中的需求。
如需自定义集群部署方式,可在创建集群时的“集群类型”选择“自定义”,实现用户自主定义集群的进程实例在集群节点中的部署方式(MRS 3.x及之后版本支持创建自定义拓扑集群)。
自定义集群可实现以下功能:
- 管控分离部署,管理角色和控制角色分别部署在不同的Master节点中。
- 管控合设部署,管理角色和控制角色共同部署在Master节点中。
- 组件分开部署,避免资源争抢。
集群部署类型说明
| 常用模板 | 说明 | 节点数量范围 |
|---|---|---|
| 管控合设 | 管理角色和控制角色共同部署在Master节点中,数据实例合设在同一节点组。该部署方式适用于100个以下的节点,可以减少成本。 |
|
| 管控数合设 | 生产环境或商用环境不推荐使用此场景。 管理节点、控制节点和数据节点合并部署时,集群性能和可靠性都会产生较大影响。 如节点数量满足需求,建议将数据节点单独部署。 |
|
| 管控分设 | 管理角色和控制角色分别部署在不同的Master节点中,数据实例合设在同一节点组。该部署方式适用于100-500个节点,在高并发负载情况下表现更好。 |
|
| 数据分设 | 管理角色和控制角色分别部署在不同的Master节点中,数据实例分设在不同节点组。该部署方式适用于500个以上的节点,可以将各组件进一步分开部署,适用于更大的集群规模。 |
|
服务角色选择说明
MRS系统由多种服务按照一定的逻辑架构组合而成,每个服务包含一个或多个角色,每个角色可以部署一个或多个实例。
- 服务:服务对外表现为集群提供的组件业务能力,集群中的每个组件对应一个服务名,提供一种服务。
- 角色:角色是服务的组成要素,每个服务由一个或多个角色组成,服务通过角色安装到节点(即服务器)上,保证服务正常运行。
- 实例:当一个服务的角色安装到节点上,即形成一个实例。每个服务有各自对应的角色实例。
对MRS集群组件的选择取决于您的集群所要处理的数据和运行的任务,例如考虑以下问题:
- 内存需求:任务运行通常占用多少内存资源?这将影响Spark、Flink等内存计算组件的实例规格选择。
- CPU需求:任务是否占用大量CPU资源?这将影响计算密集型组件(如Spark)的核数配置。
- 存储需求:待处理的数据是否占用集群内存储空间?这将影响HDFS存储容量和HBase集群规模的规划。
- 并发规模:同时接入的用户或任务数量是多少?这将影响HiveServer2、JDBCServer等服务的实例数量配置。
服务角色部署规则说明
MRS集群支持的各服务的部署原则如MRS集群部署方案说明所示。
- A依赖于B(服务级):若集群中部署A服务,需要提前部署B服务,B为A提供基础能力。
- A关联于B(服务级):A服务与B服务在业务进行中会产生数据交互,不存在部署上的依赖关系。
- A与B共机部署(角色级):若集群中部署A角色,需要同时部署B角色,且A与B需要部署在相同的节点上。
| 服务名称 | 依赖关系 | 角色名称 | 角色业务部署建议 |
|---|---|---|---|
| OMSServer | - | OMSServer | 部署在Master节点上,不支持修改。 |
| ClickHouse | 依赖ZooKeeper | CHS(ClickHouseServer) | 所有节点均可部署。 角色实例部署数量范围:2~256,必须为偶数个。 |
| CLB(ClickHouseBalancer) | 所有节点均可部署。 角色实例部署数量范围:2~256。 | ||
| Doris | - | FE | 只能部署在Master节点上。 角色实例部署数量范围:1~3,步长为2。 单个FE节点仅适用于测试或实验环境,生产业务运行时建议至少部署3个FE节点。 |
| BE | 所有节点均可部署。 角色实例部署数量范围:3~200。 | ||
| DBroker | (可选)所有节点均可部署。 角色实例部署数量范围:0~200。 | ||
| Flink |
| FR(FlinkResource) | 所有节点均可部署。 角色实例部署数量范围:1~10000。 |
| FS(FlinkServer) | 所有节点均可部署。 角色实例部署数量范围:0、2。 | ||
| Flume | - | MS(MonitorServer) | 只能部署在Master节点上。 角色实例部署数量范围:1~2。 |
| F(Flume) | 所有节点均可部署。 角色实例部署数量范围:1~10000。 | ||
| Guardian |
| TS(TokenServer) | 所有节点组均可部署。 角色实例部署数量范围:2~100。 只有对接OBS的场景下才需要安装Guardian组件。 |
| Hadoop | 依赖ZooKeeper | NN(NameNode) | 只能部署在Master节点上。 角色实例部署数量范围:2。 |
| ZKFC(Zkfc) | 只能部署在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~2。 | ||
| HBase |
| 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服务需安装此实例。 | ||
| MC(MetricController) | 只能部署在Master节点上。 角色实例部署数量范围:0~2,步长为 2。 该角色实例仅适用于MRS 3.3.0及之后版本,可选部署。用于提供HBase热点自愈功能,且必须部署主备模式双主机,并与HMaster角色共节点。 | ||
| HetuEngine |
| HSB(HSBroker) | 所有节点均可部署。 角色实例部署数量范围:
|
| HSC(HSConsole) | 所有节点均可部署。 角色实例部署数量范围:2。 | ||
| HSF(HSFabric) | 所有节点均可部署。 角色实例部署数量范围:
| ||
| QAS | 仅适用于MRS 3.2.0-LTS.1及以后版本,所有节点均可部署。 角色实例部署数量范围:
| ||
| Hive |
| MS(MetaStore) | 只能部署在Master节点上。 角色实例部署数量范围:2~10。 |
| WH(WebHCat) | 只能部署在Master节点上。 角色实例部署数量范围:1~10。 | ||
| HS(HiveServer) | 只能部署在Master节点上。 角色实例部署数量范围:2~80。 | ||
| Impala |
| StateStore | 只能部署在Master节点上。 角色实例部署数量范围:1。 |
| Catalog | 只能部署在Master节点上。 角色实例部署数量范围:1。 | ||
| Impalad | 所有节点均可部署。 角色实例部署数量范围:1~10000。 | ||
| JobGateway |
| JS(JobServer) | 只能部署在Master节点组。 角色实例部署数量范围:2~10。 |
| JB(JobBalancer) | 所有节点组均可部署。 角色实例部署数量范围:2。 | ||
| Kafka |
| B(Broker) | 所有节点均可部署。 角色实例部署数量范围:3~10000。 |
| KafkaUI | 所有节点均可部署。 角色实例部署数量范围:0~2。 | ||
| MM(MirrorMaker) | 所有节点均可部署。 角色实例部署数量范围:0~1000。 该实例仅适用于MRS 3.3.0及之后版本。 | ||
| Kudu | - | KuduMaster | 只能部署在Master节点上。 角色实例部署数量范围:1~3。 |
| KuduTserver | 所有节点均可部署。 角色实例部署数量范围:3~10000。 | ||
| LDMS | 依赖Yarn、Hive、HDFS、ZooKeeper、KrbServer、DBService、Spark | LDMSServer | 所有节点均可部署。 角色实例部署数量范围:1~2。 |
| Loader |
| LS(LoaderServer) | 只能部署在Master节点上。 角色实例部署数量范围:2。 |
| MemArtsCC | 依赖ZooKeeper | CCWK(CCWorker) | 建议部署在Core节点。 角色实例部署数量范围:2~9999。 |
| CCSC(CCSidecar) | 建议部署在Core节点,与CCWorker部署在相同节点。 角色实例部署数量范围:2~9999。 | ||
| MemArtsStore | 依赖ZooKeeper | StoreWorker | 建议部署在Core节点。 角色实例部署数量范围:3~5000。 |
| StoreSidecar | 不能单独部署,必须与StoreWorker和StoreMaster部署在相同节点上。 | ||
| StoreClientProxy | (可选)所有节点均可部署。与Yarn的NodeManager部署在相同节点上。 角色实例部署数量范围:0~10000。 | ||
| StoreMaster | 建议部署在Master节点组,不能与StoreWorker部署在同一节点。 角色实例部署数量范围:2~3。 | ||
| Oozie |
| 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。 | ||
| PSC(PolicySync) | 只能部署在Master节点上。 角色实例部署数量范围:0~2。 | ||
| TSC(TagSync) | 所有节点均可部署。 角色实例部署数量范围:0~1。 | ||
| RK(RangerKMS) | 只能部署在Master节点上。 角色实例部署数量范围:0~2。 | ||
| Spark |
| JS(JDBCServer) | 只能部署在Master节点上。 角色实例部署数量范围:2~10。 |
| JH(JobHistory) | 只能部署在Master节点上。 角色实例部署数量范围:2。 | ||
| SR(SparkResource) | 只能部署在Master节点上。 角色实例部署数量范围:2~50。 | ||
| IS(IndexServer) | 只能部署在Master节点上。 角色实例部署数量范围:2~10,步长为2。 | ||
| Sqoop | 依赖Hadoop | SC(SqoopClient) | 所有节点均可部署。 角色实例部署数量范围:1~10000。 |
| Tez |
| TUI(TezUI) | 只能部署在Master节点上。 角色实例部署数量范围:1~2。 |
| ZooKeeper | - | QP(quorumpeer) | 只能部署在Master节点上。 角色实例部署数量范围:3~9,步长为2。 |