更新时间:2024-08-03 GMT+08:00

约束与限制

使用MRS前,您需要认真阅读并了解以下使用限制。

MRS集群创建限制

表1 MRS集群创建约束说明

限制项

说明

网络要求

  • MRS集群必须创建在VPC子网内。
  • 创建MRS集群时,支持自动创建安全组,也可选择已有的安全组。
  • MRS集群使用的安全组请勿随意放开权限,避免被恶意访问。

浏览器

建议使用推荐的浏览器登录MRS管理界面。
  • Google Chrome:36.0及更高版本
  • Microsoft Edge:随Windows操作系统更新。

数据存储

  • MRS集群节点仅用于存储用户业务数据,非业务数据建议保存在对象存储服务或其他弹性云服务器中。
  • MRS集群节点仅用于运行MRS集群内服务,其他客户端应用程序、用户业务程序建议申请独立弹性云服务器部署。
  • 请根据业务需要规划集群节点的磁盘,如果需要存储大量业务数据,请及时增加云硬盘数量或存储空间,以防止存储空间不足影响节点正常运行。
  • MRS集群扩容(包含存储能力和计算能力)可通过增加Core节点或者Task节点的方式实现。

密码要求

MRS不会保存您设置的登录Master节点的初始密码,请您设置并保管好密码。为避免被恶意攻击,建议设置复杂度高的密码。

技术支持

  • 集群处于非人为异常状态时,可以联系技术支持人员,技术支持人员征得您同意后会请您提供密码,登录MRS集群进行问题排查。
  • 集群处于异常状态时,MRS仍然会收取集群费用。建议您及时联系技术支持人员处理集群异常。

MRS集群运行限制

表2 MRS集群运行约束说明

限制项

说明

节点管理

  • 当MRS集群中某一个Master节点关闭后,如果仍然使用集群执行作业任务或修改组件配置,在操作后必须先启动被关闭的Master节点,然后才能执行其他节点的关闭操作,否则会由于角色主备倒换导致数据丢失的风险。
  • 若MRS集群中节点已经被全部关闭,请按照节点关机顺序的倒序启动集群节点。

资源调度

当使用MRS集群过程中进行Capacity和Superior调度器切换时,系统只会完成调度器的切换,不保证队列配置同步。如果您需要配置同步,建议基于新的调度器重新配置。

存算分离

当集群已对接了OBS(存算分离或者冷热分离场景),若需要删除组件或者MRS集群,需要在删除组件或者集群后,手工将OBS上相关的业务数据进行删除。

组件特性

  • MRS集群中HBase服务禁止开启MOB特性,使用该特性可能存在无法正常读取表数据和JVM Crash风险。

    已存在的HBase表可在hbase shell命令行中执行以下命令查看表详情,排查表描述中是否包含MOB关键字,如果包含,需联系系统运维人员修改为非MOB表。

    desc '表名'

    例如,以下回显信息中“IS_MOB”值为“true”表示启用了HBase MOB特性:

    hbase:009:0> desc 't3'
    t3
    COLUMN FAMILIES DESCRIPTION
    {NAME => 'd', MOB_THRESHOLD => '102400', VERSIONS => '1', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOO
    MFILTER => 'ROW', IN_MEMORY => 'false', IS_MOB => 'true', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}
  • MRS集群中Spark及其他引擎禁止执行自读自写的SQL语句。

    例如,以下SQL示例即为自读自写:

    insert overwrite table test select * from test;
    insert overwrite table test select a.* from test a join test2 b on a.name=b.name;

集群及组件高危操作(禁止)

MRS集群操作与组件使用过程中,应注意以下的禁用操作,防止集群不稳定导致业务运行异常。

表3 MRS集群禁用操作

操作类别

操作风险

  • 在ECS服务管理控制台对MRS集群的节点进行关机、重启、删除、变更OS、重装OS和修改规格等操作。
  • 删除MRS集群节点上已有的进程、安装的应用程序和文件。
  • 删除MRS集群节点,集群节点丢失造成集群异常后依旧会收取费用,导致您的损失。

操作会导致MRS集群进入异常状态,影响MRS集群使用。

集群创建完成后,请勿随意删除或更改已使用的安全组。

操作可能导致集群异常,影响MRS集群的正常使用。

严禁删除ZooKeeper相关数据目录

ClickHouse/HDFS/Yarn/HBase/Hive等组件都依赖于ZooKeeper,在ZooKeeper中保存了元数据信息。删除ZooKeeper中相关数据目录将会影响上层组件的正常运行。

严禁JDBCServer主备节点频繁倒换

频繁主备倒换将导致业务中断。

严禁删除Phoenix系统表或系统表数据(SYSTEM.CATALOG、SYSTEM.STATS、SYSTEM.SEQUENCE、SYSTEM. FUNCTION)

删除系统表将导致无法正常进行业务操作。

严禁手动修改Hive元数据库的数据(hivemeta数据库)

修改Hive元数据可能会导致Hive数据解析错误,Hive无法正常提供服务。

禁止对Hive的元数据表手动进行insertupdate操作

修改Hive元数据可能会导致Hive数据解析错误,Hive无法正常提供服务。

严禁修改Hive私有文件目录hdfs:///tmp/hive-scratch的权限

修改该目录权限可能会导致Hive服务不可用。

严禁修改Kafka配置文件中broker.id

修改Kafka配置文件中broker.id将会导致该节点数据失效。

严禁修改节点主机名

主机名修改后会导致该主机上相关实例和上层组件无法正常提供服务,且无法修复。

禁止使用私有镜像

该操作会导致MRS集群进入异常状态,影响MRS集群使用。

表4为MRS集群内各组件在操作与维护阶段应注意的高危操作。

表4 MRS集群高危操作

操作类别

操作名称

操作风险

规避措施

集群操作

随意修改omm用户下的文件目录或者文件权限

该操作会导致MRS集群服务不可用。

无。

绑定弹性公网IP

该操作会将集群的manager所在的master节点暴露在公网,会增大来自互联网的网络攻击风险可能性。

请确认绑定的弹性公网IP为可信任的公网访问IP。

开放集群22端口安全组规则

该操作会增大用户利用22端口进行漏洞攻击的风险。

针对开放的22端口进行设置安全组规则,只允许可信的IP可以访问该端口,入方向规则不推荐设置允许0.0.0.0可以访问。

删除集群或删除集群数据

该操作会导致数据丢失。

删除前请务必再次确认该操作的必要性,同时要保证数据已完成备份。

缩容集群

该操作会导致数据丢失。

缩容前请务必再次确认该操作的必要性,同时要保证数据已完成备份。

卸载磁盘或格式化数据盘

该操作会导致数据丢失。

操作前请务必再次确认该操作的必要性,同时要保证数据已完成备份。

Manager操作

修改OMS密码

该操作会重启OMS各进程,影响集群的管理维护。

修改前确认操作的必要性,修改时确保同一时间无其它管理维护操作。

导入证书

该操作会重启OMS进程和整个集群,影响集群的管理维护和业务。

修改前确认操作的必要性,修改时确保同一时间无其它管理维护操作。

恢复OMS

该操作会重启Manager和整个集群,影响集群的管理维护和业务。

修改前确认操作的必要性,修改时确保同一时间无其它管理维护操作。

修改日志级别

如果修改为DEBUG,会导致Manager运行速度明显降低。

修改前确认操作的必要性,并及时修改回默认设定。

重启下层服务时勾选同时重启上层服务

该操作会导致上层服务业务中断,影响集群的管理维护和业务。

操作前确认操作的必要性,操作时确保同一时间无其它管理维护操作。

修改OLDAP端口

修改该参数会重启LdapServer和Kerberos服务和其关联的所有服务,影响业务运行。

操作前确认操作的必要性,操作时确保同一时间无其它管理维护操作。

删除用户绑定的supergroup用户组

删除supergroup用户组会导致相关用户权限变小,影响业务访问。

修改前确认需要添加的权限,确保用户绑定的supergroup权限删除前,相关权限已经添加,不会对业务造成影响。

重启、停止服务

重启过程中会中断服务,如果勾选同时重启上层服务会导致依赖该服务的上层服务中断。

操作前确认重启的必要性。

修改节点SSH默认端口

修改默认端口(22)将导致集群健康检查结果中节点互信、omm/ommdba用户密码过期等检查项不准确。

执行相关操作前将SSH端口改回默认值。

ClickHouse

删除ClickHouse数据目录

该操作将会导致业务信息丢失。

请勿手动删除数据目录。

缩容ClickHouseServer实例

该操作需要关注同分片中的ClickHouseServer实例节点需要同时退服缩容,否则会造成逻辑集群拓扑信息错乱。

该操作执行前需检查逻辑集群内各节点的数据库和数据表信息,进行缩容预分析,保证缩容退服过程中数据迁移成功,避免数据丢失。

进行缩容操作前,提前收集信息进行ClickHouse逻辑集群及实例节点状态判断。观察ClickHouse逻辑集群拓扑信息,各ClickHouseServer中数据库和数据表信息,以及数据量。

扩容ClickHouseServer实例

该操作需要关注新扩容节点是否需要创建老节点上同名的数据库或数据表,否则会造成后续数据迁移、数据均衡以及缩容退服失败。

进行扩容操作前,确认新扩容ClickHouseServer实例作用和目的,是否需要同步创建相关数据库和数据表。

退服ClickHouseServer实例

该操作需要关注同分片中的ClickHouseServer实例节点需要同时退服,否则会造成逻辑集群拓扑信息错乱。

该操作执行前需检查逻辑集群内各节点的数据库和数据表信息,进行预分析,保证退服过程中数据迁移成功,避免数据丢失。

进行退服操作前,提前收集信息进行Clickhouse逻辑集群及实例节点状态判断。

入服ClickHouseServer实例

该操作需要关注入服时必须选择原有分片中的所有节点入服,否则会造成逻辑集群拓扑信息错乱。

进行入服操作前,对于待入服节点的分片归属信息需要确认。

修改数据目录下内容(创建文件、文件夹)

该操作将会导致该节点上的ClickHouse的实例故障。

请勿手动在数据目录下创建或修改文件及文件夹。

单独启停基础组件

该操作将会影响服务的一些基础功能导致业务失败。

请勿单独启停ZooKeeper/Kerberos/LDAP等基础组件,启停基础组件请勾选关联服务。

DBService

修改DBService密码

修改密码需要重启服务,服务在重启过程中无法访问。

修改前确认操作的必要性,修改时确保同一时间无其它管理维护操作。

恢复DBService数据

数据恢复后,会丢失从备份时刻到恢复时刻之间的数据。

数据恢复后,依赖DBService的组件可能配置过期,需要重启配置过期的服务。

恢复前确认操作的必要性,恢复时确保同一时间无其它管理维护操作。

DBService主备倒换

倒换DBServer过程中,DBService无法提供服务。

操作前确认该操作的必要性,操作时确保同一时间无其它管理维护操作。

Flink

修改Flink日志级别

如果修改为DEBUG,会影响任务运行性能。

修改前确认操作的必要性,并及时修改回默认设定。

修改Flink文件权限

该操作可能导致任务运行失败。

修改前确认操作的必要性。

Flume

修改Flume实例的启动参数“GC_OPTS”

导致Flume服务启动异常。

修改相关配置项时请严格按照提示描述,确保修改后的值有效。

HBase

修改加密的相关配置项:

  • hbase.regionserver.wal.encryption
  • hbase.crypto.keyprovider.parameters.uri
  • hbase.crypto.keyprovider.parameters.encryptedtext

导致HBase服务启动异常

修改相关配置项时请严格按照提示描述,加密相关配置项是有关联的,确保修改后的值有效

已使用加密的情况下关闭或者切换加密算法

关闭主要指修改hbase.regionserver.wal.encryption为false,切换主要指AES和SMS4的切换。

操作可能导致服务启动失败,数据丢失。

加密HFile和WAL内容的时候,如果已经使用一种加密算法加密并且已经建表,请不要随意关闭或者切换加密算法。

未建加密表(ENCRYPTION=>AES/SMS4)的情况下可以切换,否则禁止操作。

修改HBase实例的启动参数GC_OPTS、HBASE_HEAPSIZE

导致HBase服务启动异常。

修改相关配置项时请严格按照提示描述,确保修改后的值有效,且GC_OPTS与HBASE_HEAPSIZE参数值无冲突。

使用OfflineMetaRepair工具

导致HBase服务启动异常。

必须在HBase下线的情况下才可以使用该命令,而且不能在数据迁移的场景中使用该命令。

HDFS

修改HDFS的NameNode的数据存储目录dfs.namenode.name.dir、DataNode的数据配置目录dfs.datanode.data.dir

导致HDFS服务启动异常。

修改相关配置项时请严格按照提示描述,确保修改后的值有效。

执行hadoop distcp命令时使用-delete参数

distcp拷贝时,源集群没有而目的集群存在的文件,会在目的集群删除。

在使用Distcp的时候,确保是否保留目的集群多余的文件,谨慎使用-delete参数。

Distcp数据拷贝后,查看目的的数据是否按照参数配置保留或删除。

修改HDFS实例的启动参数GC_OPTS、HADOOP_HEAPSIZE和GC_PROFILE

导致HDFS服务启动异常。

修改相关配置项时请严格按照提示描述,确保修改后的值有效,且GC_OPTS与HADOOP_HEAPSIZE参数值无冲突。

修改HDFS的副本数目dfs.replication值由3改为1

  • 存储可靠性下降,磁盘故障时,会发生数据丢失。
  • NameNode重启失败,HDFS服务不可用。

修改相关配置项时,请仔细查看参数说明。

保证数据存储的副本数不低于2。

修改Hadoop中各模块的RPC通道的加密方式hadoop.rpc.protection

导致HDFS服务故障及业务异常。

修改相关配置项时请严格按照提示描述,确保修改后的值有效。

Hive

修改Hive实例的启动参数GC_OPTS

修改该参数可能会导致Hive实例无法启动。

修改相关配置项时请严格按照提示描述,确保修改后的值有效。

删除MetaStore所有实例

Hive元数据丢失,Hive无法提供服务。

除非确定丢弃Hive所有表信息,否则不要执行该操作。

使用HDFS文件系统接口或者HBase接口删除或修改Hive表对应的文件

该操作会导致Hive业务数据丢失或被篡改。

除非确定丢弃这些数据,或者确保该修改操作符合业务需求,否则不要执行该操作。

使用HDFS文件系统接口或者HBase接口修改Hive表对应的文件或目录访问权限

该操作可能会导致相关业务场景不可用。

请勿执行该操作。

使用HDFS文件系统接口删除或修改文件hdfs:///apps/templeton/hive-3.1.0.tar.gz

该操作可能会导致WebHCat无法正常执行业务。

请勿执行该操作。

导出表数据覆盖写入本地目录,例如将t1表中数据导出,覆盖到“/opt/dir”路径下:

insert overwrite local directory '/opt/dir' select * from t1;

该操作会删除目标目录,如果设置错误,会导致软件或者操作系统无法启动。

确认需要写入的路径下不要包含任何文件,或者不要使用overwrite关键字。

将不同的数据库、表或分区文件指定至相同路径,例如默认仓库路径“/user/hive/warehouse”

执行创建操作后数据可能会紊乱,如果删除其中一个数据库、表或分区,会导致其他对象数据丢失。

请勿执行该操作。

IoTDB

删除数据目录

该操作将会导致业务信息丢失。

请勿手动删除数据目录。

修改数据目录下内容(创建文件、文件夹)

该操作将会导致该节点上的IoTDB的实例故障。

请勿手动在数据目录下创建或修改文件及文件夹。

单独启停基础组件

该操作将会影响服务的一些基础功能导致业务失败。

请勿单独启停Kerberos/LDAP等基础组件,启停基础组件请勾选关联服务。

Kafka

删除Topic

该操作将会删除已有的主题和数据。

采用Kerberos认证,保证合法用户具有操作权限,并确保主题名称正确。

删除Kafka数据目录

该操作将会导致业务信息丢失。

请勿手动删除数据目录。

修改数据目录下内容(创建文件、文件夹)

该操作将会导致该节点上的Broker实例故障。

请勿手动在数据目录下创建或修改文件及文件夹。

修改磁盘自适应功能“disk.adapter.enable”参数

该操作会在磁盘使用空间达到阈值时调整Topic数据保存周期,超出保存周期的历史数据可能被清除。

若个别Topic不能做保存周期调整,将该Topic配置在“disk.adapter.topic.blacklist”参数中,在KafkaTopic监控页面观察数据的存储周期。

修改数据目录“log.dirs”配置

该配置不正确将会导致进程故障。

确保所修改或者添加的数据目录为空目录,且权限正确。

减容Kafka集群

该操作将会导致部分Topic数据副本数量减少,可能会导致Topic无法访问。

请先做好数据副本转移工作,然后再进行减容操作。

单独启停基础组件

该操作将会影响服务的一些基础功能导致业务失败。

请勿单独启停ZooKeeper/Kerberos/LDAP等基础组件,启停基础组件请勾选关联服务。

删除/修改元数据

修改或者删除ZooKeeper上Kafka的元数据可能导致Topic或者Kafka服务不可用。

请勿删除或者修改Kafka在ZooKeeper上保存的元数据信息。

修改元数据备份文件

修改Kafka元数据备份文件,并被使用进行Kafka元数据恢复成功后,可能导致Topic或者Kafka服务不可用。

请勿修改Kafka元数据备份文件。

KrbServer

修改KrbServer的参数KADMIN_PORT

修改该参数后,若没有及时重启KrbServer服务和其关联的所有服务,会导致集群内部KrbClient的配置参数异常,影响业务运行。

修改该参数后,请重启KrbServer服务和其关联的所有服务。

修改KrbServer的参数kdc_ports

修改该参数后,若没有及时重启KrbServer服务和其关联的所有服务,会导致集群内部KrbClient的配置参数异常,影响业务运行。

修改该参数后,请重启KrbServer服务和其关联的所有服务。

修改KrbServer的参数KPASSWD_PORT

修改该参数后,若没有及时重启KrbServer服务和其关联的所有服务,会导致集群内部KrbClient的配置参数异常,影响业务运行。

修改该参数后,请重启KrbServer服务和其关联的所有服务。

修改Manager系统域名

若没有及时重启KrbServer服务和其关联的所有服务,会导致集群内部KrbClient的配置参数异常,影响业务运行。

修改该参数后,请重启KrbServer服务和其关联的所有服务。

配置跨集群互信

该操作会重启KrbServer服务和其关联的所有服务,影响集群的管理维护和业务。

更换前确认操作的必要性,更换时确保同一时间无其它管理维护操作。

LdapServer

修改LdapServer的参数LDAP_SERVER_PORT

修改该参数后,若没有及时重启LdapServer服务和其关联的所有服务,会导致集群内部LdapClient的配置参数异常,影响业务运行。

修改该参数后,请重启LdapServer服务和其关联的所有服务。

恢复LdapServer数据

该操作会重启Manager和整个集群,影响集群的管理维护和业务。

修改前确认操作的必要性,修改时确保同一时间无其它管理维护操作。

更换LdapServer所在节点

该操作会导致部署在该节点上的服务中断,且当该节点为管理节点时,更换节点会导致重启OMS各进程,影响集群的管理维护。

更换前确认操作的必要性,更换时确保同一时间无其它管理维护操作。

修改LdapServer密码

修改密码需要重启LdapServer和Kerberos服务,影响集群的管理维护和业务。

修改前确认操作的必要性,修改时确保同一时间无其它管理维护操作。

节点重启导致LdapServer数据损坏

如果未停止LdapServer服务,直接重启LdapServer所在节点,可能导致LdapServer数据损坏。

使用LdapServer备份数据进行恢复。

Loader

修改Loader实例的浮动IP地址

导致Loader服务启动异常。

修改相关配置项时请严格按照提示描述,确保修改后的值有效。

修改Loader实例的启动参数LOADER_GC_OPTS

导致Loader服务启动异常。

修改相关配置项时请严格按照提示描述,确保修改后的值有效。

往HBase导入数据时选择清空表数据

目标表的原数据被清空。

选择时确保目标表的数据可以清空。

Spark

修改配置项“spark.yarn.queue”

导致Spark服务启动异常。

修改相关配置项时请严格按照提示描述,确保修改后的值有效。

修改配置项“spark.driver.extraJavaOptions”

导致Spark服务启动异常。

修改相关配置项时请严格按照提示描述,确保修改后的值有效。

修改配置项“spark.yarn.cluster.driver.extraJavaOptions”

导致Spark服务启动异常。

修改相关配置项时请严格按照提示描述,确保修改后的值有效。

修改配置项“spark.eventLog.dir”

导致Spark服务启动异常。

修改相关配置项时请严格按照提示描述,确保修改后的值有效。

修改配置项“SPARK_DAEMON_JAVA_OPTS”

导致Spark服务启动异常。

修改相关配置项时请严格按照提示描述,确保修改后的值有效。

删除所有JobHistory实例

导致历史应用的event log丢失。

至少保留一个JobHistory实例,观察JobHistory中是否可以查看历史应用信息。

删除或修改HDFS上的spark-archive文件

导致JDBCServer启动异常及业务功能异常。

删除“/user/spark2x/jars/XXX/spark-archive-2x.zip”或者“/user/spark/jars/XXX/spark-archive.zip”时,等待10~15分钟,zip包自动恢复。

Storm

修改插件相关的配置项:

  • storm.scheduler
  • nimbus.authorizer
  • storm.thrift.transport
  • nimbus.blobstore.class
  • nimbus.topology.validator
  • storm.principal.tolocal

导致Storm服务启动异常。

修改相关配置项时请严格按照提示描述,确保修改后的类名是存在并有效的。

修改Storm实例的启动参数GC_OPTS:

  • NIMBUS_GC_OPTS
  • SUPERVISOR_GC_OPTS
  • UI_GC_OPTS
  • LOGVIEWER_GC_OPTS

导致Storm服务启动异常。

修改相关配置项时请严格按照提示描述,确保修改后的值有效。

修改用户资源池配置参数“resource.aware.scheduler.user.pools”

导致Storm业务提交后无法正常运行。

修改相关配置项时请严格按照提示描述,确保给每个用户分配的资源合理有效。

修改Storm数据目录

该操作不当会导致服务异常,无法提供服务。

请勿手动操作数据目录。

删除/修改Storm元数据

删除Nimbus元数据会导致服务异常,并且已运行业务丢失。

请勿手动删除Nimbus元数据文件。

修改Storm文件权限

修改元数据目录和日志目录权限不当会引起服务异常。

请勿手动修改文件权限。

删除Storm拓扑

该操作会删除正在运行中的拓扑。

确保在必要时删除拓扑。

Yarn

删除或者修改数据目录yarn.nodemanager.local-dirs和yarn.nodemanager.log-dirs

该操作将会导致业务信息丢失。

请勿手动删除数据目录。

ZooKeeper

删除或者修改ZooKeeper的数据目录

该操作将会导致业务信息丢失。

修改ZooKeeper目录时候,严格按照扩容指导操作。

修改ZooKeeper实例的启动参数GC_OPTS

导致ZooKeeper服务启动异常。

修改相关配置项时请严格按照提示描述,确保修改后的值有效。

设置ZooKeeper中znode的ACL信息

修改ZooKeeper中znode的权限,可能会导致其他用户无权限访问该znode,导致系统功能异常。

修改相关配置项时请确保修改的ACL信息,不会影响其他组件正常使用ZooKeeper。