约束与限制
使用MRS前,您需要认真阅读并了解以下使用限制。
MRS集群创建限制
| 限制项 | 说明 |
|---|---|
| 网络要求 |
|
| 浏览器 | 建议使用推荐的浏览器登录MRS管理界面。
|
| 数据存储 |
|
| 密码要求 | MRS不会保存您设置的登录Master节点的初始密码,请您设置并保管好密码。为避免被恶意攻击,建议设置复杂度高的密码。 |
| 技术支持 |
|
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的元数据表手动进行insert和update操作 | 修改Hive元数据可能会导致Hive数据解析错误,Hive无法正常提供服务。 |
| 严禁修改Hive私有文件目录hdfs:///tmp/hive-scratch的权限 | 修改该目录权限可能会导致Hive服务不可用。 |
| 严禁修改Kafka配置文件中broker.id | 修改Kafka配置文件中broker.id将会导致该节点数据失效。 |
| 严禁修改节点主机名 | 主机名修改后会导致该主机上相关实例和上层组件无法正常提供服务,且无法修复。 |
| 禁止使用私有镜像 | 该操作会导致MRS集群进入异常状态,影响MRS集群使用。 |
| 严禁修改MRS集群节点的默认DNS配置信息 | 修改DNS信息可能导致该节点对其他服务器域名解析出现异常,引发通信中断、集群异常等问题。 |
表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等基础组件,启停基础组件请勾选关联服务。 | |
| 使用内置的default用户以及clickhouse用户 | 内置的default用户以及clickhouse用户密码具有不确定性,会导致生产业务受损。 | 新增并使用业务用户。 | |
| DBService | 修改DBService密码 | 修改密码需要重启服务,服务在重启过程中无法访问。 | 修改前确认操作的必要性,修改时确保同一时间无其它管理维护操作。 |
| 恢复DBService数据 | 数据恢复后,会丢失从备份时刻到恢复时刻之间的数据。 数据恢复后,依赖DBService的组件可能配置过期,需要重启配置过期的服务。 | 恢复前确认操作的必要性,恢复时确保同一时间无其它管理维护操作。 | |
| DBService主备倒换 | 倒换DBServer过程中,DBService无法提供服务。 | 操作前确认该操作的必要性,操作时确保同一时间无其它管理维护操作。 | |
| Flink | 修改Flink日志级别 | 如果修改为DEBUG,会影响任务运行性能。 | 修改前确认操作的必要性,并及时修改回默认设定。 |
| 修改Flink文件权限 | 该操作可能导致任务运行失败。 | 修改前确认操作的必要性。 | |
| Flume | 修改Flume实例的启动参数“GC_OPTS” | 导致Flume服务启动异常。 | 修改相关配置项时请严格按照提示描述,确保修改后的值有效。 |
| HBase | 修改加密的相关配置项:
| 导致HBase服务启动异常 | 修改相关配置项时请严格按照提示描述,加密相关配置项是有关联的,确保修改后的值有效 |
| 已使用加密的情况下关闭或者切换加密算法 | 关闭主要指修改hbase.regionserver.wal.encryption为false,切换主要指AES和SM4(也称为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 |
| 修改相关配置项时,请仔细查看参数说明。 保证数据存储的副本数不低于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服务启动异常。 | 修改相关配置项时请严格按照提示描述,确保修改后的类名是存在并有效的。 |
| 修改Storm实例的启动参数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。 |