创建自定义拓扑集群
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等。
创建自定义集群
- 登录MRS管理控制台。
- 单击“创建集群”,进入“创建集群”页面。
- 在集群页面,选择“自定义创建”页签。
- 参考下列参数说明配置集群软件信息,参数详细信息请参考软件配置。
- 区域:默认即可。
- 集群名称:可以设置为系统默认名称,但为了区分和记忆,建议带上项目拼音缩写或者日期等。例如:“mrs_20180321”。
- 集群版本:目前仅MRS 3.x版本支持。
- 集群类型:选择“自定义”并根据需要勾选对应组件。
- 单击“下一步”,并配置硬件信息。
- 可用区:默认即可。
- 虚拟私有云:默认即可。如果没有虚拟私有云,请单击“查看虚拟私有云”进入虚拟私有云,创建一个新的虚拟私有云。
- 子网:默认即可。
- 安全组:选择“自动创建”。
- 弹性公网IP:选择“暂不绑定”。
- 企业项目:默认即可。
- CPU架构:默认即可。MRS 3.x版本无该参数。
- 常用模板:具体说明请参见自定义集群模板说明。
- 实例规格:单击配置实例规格、系统盘和数据盘存储类型和存储空间。
- 实例数量:请根据业务量调整集群实例数量。具体可参考表2。
- 拓扑调整:若常用模板中的部署方式不满足需求或者需要手动安装部分默认安装不部署的实例或者需要手动安装部分实例时,请设置“拓扑调整”为“开启”,然后根据业务需要调整实例部署方式,具体说明请参见自定义集群拓扑调整说明。
- 单击“下一步”进入高级配置页签。
参数说明请参见高级配置(可选)。
- 单击“立即创建”。
当集群开启Kerberos认证时,需要确认是否需要开启Kerberos认证,若确认开启请单击“继续”,若无需开启Kerberos认证请单击“返回”关闭Kerberos认证后再创建集群。
- 单击“返回集群列表”,可以查看到集群创建的状态。
集群创建需要时间,所创集群的初始状态为“启动中”,创建成功后状态更新为“运行中”,请您耐心等待。
自定义集群模板说明
常用模板 |
说明 |
节点数量范围 |
---|---|---|
管控合设 |
管理角色和控制角色共同部署在Master节点中,数据实例合设在同一节点组。该部署方式适用于100个以下的节点,可以减少成本。 |
|
管控分设 |
管理角色和控制角色分别部署在不同的Master节点中,数据实例合设在同一节点组。该部署方式适用于100-500个节点,在高并发负载情况下表现更好。 |
|
数据分设 |
管理角色和控制角色分别部署在不同的Master节点中,数据实例分设在不同节点组。该部署方式适用于500个以上的节点,可以将各组件进一步分开部署,适用于更大的集群规模。 |
|
节点部署原则 |
适用场景 |
组网规则 |
|
---|---|---|---|
管理节点、控制节点和数据节点分开部署 (此方案至少需要8个节点) |
MN × 2 + CN × 9 + DN × n |
(推荐)数据节点数500-2000时采用此方案 |
|
MN × 2 + CN × 5 + DN × n |
(推荐)数据节点数100-500时采用此方案 |
||
MN × 2 + CN × 3 + DN × n |
(推荐)数据节点数30-100时采用此方案 |
||
管理节点和控制节点合并部署,数据节点单独部署 |
(MN+CN) × 3 + DN × n |
(推荐)数据节点数3-30时采用此方案 |
集群内节点部署在同一子网,集群内通过汇聚交换机二层互联。 |
管理节点、控制节点和数据节点合并部署 |
说明:
生产环境或商用环境不推荐使用此场景:
|
集群内节点部署在同一子网,集群内通过汇聚交换机二层互联。 |
自定义集群拓扑调整说明
服务名称 |
依赖关系 |
角色名称 |
角色业务部署建议 |
说明 |
---|---|---|---|---|
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 |
|
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 |
|
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 |
|
TUI(TezUI) |
只能部署在Master节点上。 角色实例部署数量范围:1~2。 |
- |
Flink |
|
FR(FlinkResource) |
所有节点均可部署。 角色实例部署数量范围:1~10000。 |
- |
FS(FlinkServer) |
所有节点均可部署。 角色实例部署数量范围:0~2。 |
- |
||
Oozie |
|
O(oozie) |
只能部署在Master节点上。 角色实例部署数量范围:2。 |
- |
Impala |
|
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。 |
- |