您在使用E-MapReduce(简称EMR)过程中,某些非产品预期的操作可能会导致集群的不稳定甚至集群的不可用,为了避免这种问题,请您认真阅读本文。本文为您介绍了EMR的一些使用限制。

注意 在使用EMR时,所有操作都需要在EMR控制台上执行,通常不建议您在ECS控制台上进行操作,不合适的操作可能导致集群不稳定或异常。因此请您仔细阅读本文,如果遇到文档中的操作导致的问题或故障,需由您自行承担后果。

高危操作(禁止)

操作 可能的结果 建议
禁止删除或者修改etc/hosts目录下的hosts文件 集群关联不到节点上的服务,导致服务异常。 您可以增加hosts信息。
禁止直接在ECS控制台上修改组件配置文件的参数 服务重启后,导致修改的参数被覆盖。 您可以在EMR控制台上修改参数配置。
禁止在ECS控制台对EMR节点挂载磁盘 因为EMR无法识别和初始化磁盘,所以会导致磁盘不可用。 您可以在EMR控制台上扩容数据盘。
禁止在ECS控制台对EMR节点卸载磁盘 因为EMR无法感知到卸载磁盘操作,所以容易导致数据丢失。 您可以针对相应节点执行如下操作:
  • Core节点:先下线HDFS、YARN、HBase、Kudu或Kafka服务,然后停止和下线节点。
  • Task节点:下线YARN服务,然后停止和下线节点。
禁止在ECS控制台直接删除Core节点 导致数据丢失和在删除节点上的作业执行失败。 您可以下线HDFS、YARN、HBase、Kudu或Kafka服务。
禁止在ECS控制台直接删除Master节点
  • HA集群时,删除Master节点,会导致集群HDFS NameNode HA、YARN ResourceManager或HBase HMaster无法正常切换,该情况只能重新购买EMR集群,迁移数据/任务。
  • 非HA集群,删除Master节点,会导致集群不可用,无法迁移数据和任务。
禁止在ECS控制台直接删除Task节点 执行在删除节点上的作业执行失败。 您可以Decommission YARN Nodemanager服务。
禁止停止Master的MySQL服务(创建集群时,元数据选择集群内置MySQL) emr-header-1上的MySQL服务,关联到Hive MetaStore、Oozie和Ranger,如果停止服务,会造成支持的服务无法访问到数据库。
禁止修改emr-header-1节点上预装的MySQL root密码(创建集群时,元数据选择集群内置MySQL) 导致EMR的Hue或Ranger等组件失败。
禁止在集群运行中修改ECS节点的安全组
  • 导致集群节点间网络异常。
  • 导致组件不可用。

常见问题处理

问题 建议
磁盘容量不足 因为EMR集群的Master节点不支持磁盘数量的增加,所以您可以在EMR控制台调大单块磁盘的容量,或扩容Core节点。
磁盘容量过剩 因为EMR集群不支持磁盘容量缩容,所以您可以重新购买集群,详情请参见创建集群
计算能力不足 您可以在EMR控制台上扩容Task节点,详情请参见扩容集群
计算能力过剩
根据集群区分如下:
  • 针对按量付费集群,您可以在EMR控制台上缩容Task节点。
  • 针对包年包月集群,先在Task节点Decommission YARN Nodemanager服务,然后在ECS控制台将对应Task节点的ECS转为按量付费后再释放。
组件版本过低 因为EMR集群不支持单组件版本升级,所以您可以重新购买高版本的集群,详情请参见创建集群
转化非HA集群为HA集群 EMR集群暂不支持非HA集群转为HA集群,建议您重新购买HA集群。
在EMR上部署第三方软件或服务 建议您在集群创建时通过引导操作安装第三方软件或服务。

如果集群创建后手工安装第三方软件或服务,在扩容时,新扩容节点需重新手工安装第三方软件或服务。