本文汇总了集群管理时的常见问题。
- 错误提示信息
- 错误提示:The specified zone is not available for purchase.
- 错误提示:The request processing has failed due to some unknown error, exception or failure.
- 错误提示:The Node Controller is temporarily unavailable.
- 错误提示:Zone或者Cluster的库存不够了
- 错误提示:The specified DataDisk Size beyond the permitted range, or the capacity of snapshot exceeds the size limit of the specified disk category.
- 错误提示:Your account does not have enough balance.
- 错误提示:The maximum number of Pay-As-You-Go instances is exceeded: create ecs vcpu quota per region limited by user quota [xxx].
- 错误提示
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
- 错误提示:User real name authenticate failed.
- 错误提示:The specified instance Type exceeds the maximum limit for the PostPaid instances.
- 计费问题
- 产品功能咨询问题
- 集群创建失败需要处理吗?
- E-MapReduce是否支持竞价实例?
- 磁盘容量不足时,该如何处理?
- 磁盘容量过剩时,该如何处理?
- 计算能力不足时,该如何处理?
- 计算能力过剩时,该如何处理?
- 组件版本过低时,该如何处理?
- 如何转化非HA集群为HA集群?
- 如何在EMR上部署第三方软件或服务?
- 已增加了内存或CPU,为什么YARN上的内存或CPU没有增加?
- 如何登录Core节点?
- 集群机器如何分工?
- 如何处理Kafka集群磁盘异常?
- E-Mapreduce主节点是否支持安装其他软件?
- 各个节点上的服务开机会自动启动吗?服务异常中断也会自动重启吗?
- Hbase的Thrift端口号是多少?
- 之前购买了一套EMR-3.4.3版本,现在需要再购买一套,为什么选不到3.4.3版本?
- E-MapReduce和MaxCompute的区别是什么?
- 存储会自动负载均衡还是需要手动均衡?如果需要手动均衡在哪里操作?
- YARN上ApplicationMaster资源超过Queue限制,该如何处理?
- Worker节点和Header/Gateway节点提交作业的区别是什么?
- 如何访问开源组件的Web UI?
- 元数据管理问题
- 权限问题
错误提示:The specified zone is not available for purchase.
您选择创建集群的可用区暂时停止了按量计费ECS的售卖,建议您更换可用区购买。
错误提示:The request processing has failed due to some unknown error, exception or failure.
您可以稍等一会重试。
错误提示:The Node Controller is temporarily unavailable.
请稍等一会再重试创建集群。
错误提示:Zone或者Cluster的库存不够了
待创建E-MapReduce集群可用区的ECS实例库存不足。您可以尝试手动选择其他可用区重新创建集群,或者使用随机模式创建集群。
错误提示:The specified instance Type exceeds the maximum limit for the PostPaid instances.
- 您的按量节点数量已达到上限。
- 您没有创建这个机型的权限。
- 申请增加节点数量。
- 在ECS开通这个机型的使用权限。
如何登录Core节点?
- 在Master节点上切换到hadoop账号。
su hadoop
- 免密码登录到对应的Core节点。
ssh emr-worker-1
- 通过sudo获得root权限。
sudo su - root
为什么集群已续费但还是会收到没有续费的通知?
问题分析:因为E-MapReduce涉及E-MapReduce和ECS两部分费用,大部分的用户都只是续费了ECS而没有续费E-MapReduce。
解决方法:您可以进入集群基础信息页面,在 页面,查看ECS和E-MapReduce到期时间。
E-MapReduce是否支持自动续费?
E-MapReduce支持自动续费操作,包括E-MapReduce和ECS的自动续费。
集群创建失败需要处理吗?
可以不用处理,对应的计算资源并没有真正地创建出来。创建失败的集群记录会在60天后自动删除。
在旧版控制台,创建失败的集群会在三天后自动隐藏;在新版控制台,您可以通过筛选集群状态对集群列表进行过滤展示。
集群机器如何分工?
E-MapReduce中包含一个Master节点和多个Slave(或者Worker)节点。其中Master节点不参与数据存储和计算任务,Slave节点用来存储数据和计算任务。例如,3台4核8 GiB机型的集群,其中一台机器用来作为Master节点,另外两台用来作为Slave节点,也就是集群的可用计算资源为2台4核8 GiB机型。
如何处理Kafka集群磁盘异常?
问题分析:常见磁盘异常包括磁盘写满和磁盘损坏。
- 磁盘写满:
- 登录服务器。
- 查找到写满的磁盘,然后按照以下原则清理数据。
- 切勿直接删除Kafka的数据目录,否则所有数据会丢失。
- 切勿清理Kafka的系统topic,例如consumer_offsets和schema等。
- 查找到占用空间较多或者明确不需要的topic,选择其中某些Partition,从最早的日志数据开始删除。删除Segment及相应的index和timeindex文件。
- 重启Kafka broker服务。
- 磁盘损坏:
磁盘损坏不超过25%时,无需处理。
错误提示:The specified DataDisk Size beyond the permitted range, or the capacity of snapshot exceeds the size limit of the specified disk category.
磁盘参数设置太小,建议您调整到40 GB以上重试。
错误提示:Your account does not have enough balance.
账号余额不足。
错误提示:The maximum number of Pay-As-You-Go instances is exceeded: create ecs vcpu quota per region limited by user quota [xxx].
您按量计费的ECS使用量达到上限,需要申请提高ECS使用量上限,或者释放部分按量计费的ECS以便继续创建E-MapReduce集群。
E-Mapreduce主节点是否支持安装其他软件?
不建议安装。因为安装其他软件可能会影响集群的稳定性和可靠性,所以不建议安装。
各个节点上的服务开机会自动启动吗?服务异常中断也会自动重启吗?
会自动启动。服务异常中断会自动恢复。
Hbase的Thrift端口号是多少?
Hbase的Thrift端口号是9099。
E-MapReduce是否支持竞价实例?
E-MapReduce在使用弹性伸缩功能时,支持抢占式实例,详情请参见管理弹性伸缩。
错误提示FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException:
Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
问题描述:创建集群时选择了统一meta库,但执行Hive报错。
通常是因为集群没有公网EIP,导致集群未创建成功。
错误提示:User real name authenticate failed.
用户账号没有完成实名认证。请到阿里云上完成即可。
之前购买了一套EMR-3.4.3版本,现在需要再购买一套,为什么选不到3.4.3版本?
E-MapReduce的主版本会定期升级,对于部分老版本会做下线处理。您可以查看现有E-MapReduce版本中各个软件的版本(例如Hive和Spark)是否满足您的需求。
E-MapReduce和MaxCompute的区别是什么?
两者都是大数据处理解决方案。E-MapReduce是完全在开源基础上构建的大数据平台,对开源软件的使用方式和实践方式100%兼容。MaxCompute由阿里巴巴开发,对外不开源,但是封装后使用起来比较方便,而且运维成本也较低。
存储会自动负载均衡还是需要手动均衡?如果需要手动均衡在哪里操作?
- 登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的集群管理页签。
- 在集群管理页面,单击相应集群所在行的详情。
- 单击左侧导航栏的 。
- 单击右上角的 。
- 在执行集群操作对话框中,配置各项参数,单击确定。
- 在确认对话框中,单击确定。
磁盘容量不足时,该如何处理?
因为EMR集群不支持磁盘数量的增加,所以您可以在EMR控制台调大单块磁盘的容量,或扩容Core节点。
磁盘容量过剩时,该如何处理?
因为EMR集群不支持磁盘容量缩容,所以您可以重新购买集群,详情请参见创建集群。
计算能力不足时,该如何处理?
您可以在EMR控制台上扩容Task节点,详情请参见扩容集群。
计算能力过剩时,该如何处理?
- 针对按量付费集群,您可以在EMR控制上缩容Task节点。
- 针对包年包月集群,先在Task节点decommission YARN Nodemanager服务,然后在ECS控制台将对应Task节点的ECS转为按量付费后再释放。
组件版本过低时,该如何处理?
因为EMR集群不支持单组件版本升级,所以您可以重新购买高版本的集群,详情请参见创建集群。
如何转化非HA集群为HA集群?
EMR集群暂不支持非HA集群转为HA集群,建议您重新购买HA集群。
如何在EMR上部署第三方软件或服务?
建议您在集群创建时通过引导操作安装第三方软件或服务。如果集群创建后手工安装第三方软件或服务,在扩容时,新扩容节点需重新手工安装第三方软件或服务。
已增加了内存或CPU,为什么YARN上的内存或CPU没有增加?
因为YARN上的资源是由每个NodeManager的资源相加得到的总值,每个NodeManager的值是固定的,所以您可以通过修改配置并重启NodeManager,来影响YARN的总体资源,修改组件参数详情请参见管理组件参数。
- 内存:yarn.nodemanager.resource.memory-mb
- CPU:yarn.nodemanager.resource.cpu-vcores

YARN上ApplicationMaster资源超过Queue限制,该如何处理?
- 问题现象:
- YARN上任务一直显示accepted。
- 错误提示
Application is added to the scheduler and is not yet activated. Queue's AM resource limit exceeded.
。
- 处理方法:任务在YARN上运行时会先启动一个ApplicationMaster,由这个Master来申请运行数据的资源,但是有一个参数会限制Master占用YARN资源的百分比,默认是0.25(25%)。如果您的作业都是消耗资源比较小的任务,建议可以修改yarn.scheduler.capacity.maximum-am-resource-percent的值,调整到0.5~0.8之间,修改参数后无需重启服务,您可以直接在节点上执行
yarn rmadmin -refreshQueues
命令。修改组件参数详情请参见管理组件参数。
Worker节点和Header/Gateway节点提交作业的区别是什么?
在数据开发的作业编辑页面,单击右上角的作业设置,在作业设置页面的高级设置页签,您可以在模式区域,选择在Worker节点提交或者在Header/Gateway节点提交。
在Worker节点提交:不可以指定机器提交,会先启动一个名为Launcher的任务,再来启动和监控您实际的任务,即需要用到两个ApplicationMaster的资源,通常这两个任务的ApplicationId是连续的。
在Header/Gateway节点提交:可以指定机器提交,仅启动实际的任务,但是如果任务太多,会对Header/Gateway节点造成一定的压力,如果机器内存不足,任务无法启动。
经典网络中ECS与VPC中的E-MapReduce集群如何进行网络互访?
目前阿里云存在经典网络和VPC两种网络类型。由于E-MapReduce集群是在VPC网络中,而很多用户的业务系统还存在于经典网络中,为了解决此问题,阿里云推出了ClassicLink方案,您可以参见此方案进行网络互访,详情请参见ClassicLink方案。
- 指定网段创建vSwitch,详情请参见ClassicLink方案。
- 创建集群时,使用指定网段的vSwitch来部署E-MapReduce集群。
- 在ECS控制台,将对应的经典网络节点连接到这个VPC。
- 设置安全组访问规则。
如何访问开源组件的Web UI?
您可以通过E-MapReduce控台的访问链接与端口功能,访问开源组件的Web UI,详情请参见访问链接与端口。
如何对不同RAM用户的OSS数据进行隔离?
- 通过阿里云账号登录RAM控制台。
- 创建RAM用户。
- 在左侧导航栏中,选择 。
- 单击创建用户。
说明 可以一次性创建多个RAM用户。
- 输入登录名称和显示名称。
- 在访问方式区域,选择访问方式。
- 控制台访问:完成对登录安全的基本设置,包括自动生成或自定义登录密码、是否要求下次登录时重置密码以及是否要求开启多因素认证。
- OpenAPI调用访问:自动为RAM用户生成访问密钥(AccessKey),支持通过API或其他开发工具访问阿里云。
说明 为了保障账号安全,建议仅为RAM用户选择一种登录方式,避免RAM用户离开组织后仍可以通过访问密钥访问阿里云资源。 - 单击确定。
- 新建权限策略。
- 在左侧导航栏中,选择 。
- 单击创建权限策略。
- 填写策略名称。
- 选中脚本配置。脚本配置方法请参见语法结构编辑策略内容。 本示例分别按照不同环境来创建两个权限策略,您可以根据自己的环境选择对应的脚本进行创建。
测试环境(test-bucket) 生产环境(prod-bucket) { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:ListBuckets" ], "Resource": [ "acs:oss:*:*:*" ] }, { "Effect": "Allow", "Action": [ "oss:Listobjects", "oss:GetObject", "oss:PutObject", "oss:DeleteObject" ], "Resource": [ "acs:oss:*:*:test-bucket", "acs:oss:*:*:test-bucket/*" ] } ] }
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:ListBuckets" ], "Resource": [ "acs:oss:*:*:*" ] }, { "Effect": "Allow", "Action": [ "oss:Listobjects", "oss:GetObject", "oss:PutObject" ], "Resource": [ "acs:oss:*:*:prod-bucket", "acs:oss:*:*:prod-bucket/*" ] } ] }
按上述脚本示例进行权限隔离后,RAM用户在E-MapReduce控制台的限制如下:- 在创建集群、创建作业和创建工作流的OSS文件页面,可以看到所有的Bucket,但是只能进入被授权的Bucket。
- 只能看到被授权的Bucket下的内容,无法看到其他Bucket内的内容。
- 作业中只能读写被授权的Bucket,读写未被授权的Bucket会报错。
- 单击确定。
- 可选:为RAM用户授权。
创建的RAM用户未授权,则您可按以下方法进行授权:
- 在左侧导航栏,选择 。
- 单击待授权RAM用户所在行的添加权限。
- 单击需要授予RAM用户的权限策略,单击确定。
- 单击完成。
- 可选:开启RAM用户的控制台登录权限。
如果创建RAM用户时未开启控制台登录权限,则您可按以下方法进行开启:
- 单击左侧导航栏,选择 。
- 单击目标RAM用户的用户登录名称。
- 在控制台登录管理区域,单击修改登录设置。
- 在修改登录设置页签,开启控制台访问。
- 单击确定。
- 通过RAM用户登录E-MapReduce控制台。
- 通过RAM用户登录控制台。
- 登录控制台后,选择E-MapReduce产品即可。
同账号不同VPC下的E-MapReduce如何互连?
专有网络VPC(Virtual Private Cloud)可以为您创建一个隔离的网络环境,支持自定义IP地址范围、划分网络、配置路由表和网关等。您可以将多个E-MapReduce集群创建在不同的VPC下,通过高速通道的配置使其可以互连。
- 创建集群,详情请参见创建集群。
在E-MapReduce控制台上创建两个集群,Hive集群C1处于VPC1中,HBase集群C2处于VPC2中,两个集群都在杭州区域。
- 配置同账号VPC互连。
详细配置信息,请参见创建云企业网实例。
- 使用SSH登录HBase集群,通过HBase Shell创建表。
create 'testfromHbase','cf'
- 使用SSH登录Hive集群,进行以下配置,即可实现同账号不同VPC下的E-MapReduce集群互连。
- 修改hosts,增加如下信息。
$zk_ip emr-cluster //$zk_ip为HBase集群的ZooKeeper节点IP地址。
- 通过Hive Shell访问HBase。
set hbase.zookeeper.quorum=172.*.*.111,172.*.*.112,172.*.*.113; CREATE EXTERNAL TABLE IF NOT EXISTS testfromHive (rowkey STRING, pageviews Int, bytes STRING) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ('hbase.columns.mapping' = ':key,cf:c1,cf:c2') TBLPROPERTIES ('hbase.table.name' = 'testfromHbase');
如果提示java.net.SocketTimeoutException异常信息,则您需要在HBase集群的安全组中新增安全组规则给Hive集群开放端口,示例如下。
- 修改hosts,增加如下信息。
Metastore初始化时提示Failed to get schema version异常信息,该如何处理?

请检查RDS MySQL安全组配置,确认RDS对EMR集群已开通安全组白名单。开通白名单详情,请参见设置IP白名单。
如果Hive元数据信息中包含中文信息,例如列注释和分区名等,该如何处理?
- 执行以下命令,修改COMMENT列的数据类型。
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
- 执行以下命令,修改表TABLE_PARAMS中PARAM_VALUE列的数据类型。
alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
- 执行以下命令,修改表PARTITION_PARAMS中PARAM_VALUE列的数据类型。
alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
- 执行以下命令,修改PKEY_COMMENT列的数据类型。
alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
- 执行以下命令,修改表INDEX_PARAMS中PARAM_VALUE列的数据类型。
alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;