全部产品
Search
文档中心

开源大数据平台E-MapReduce:集群管理常见问题

更新时间:Oct 14, 2024

本文汇总了集群管理的常见问题。

EMR集群是否支持升级版本?

EMR集群不支持升级,也不能进行服务的升级。如果有升级需求,请释放集群并重新创建集群。

EMR集群都支持哪些服务?

不同版本、不同集群支持的服务有所不同,详情请参见版本概述

EMR支持Hue服务吗?如果不支持是否有替代方案?

EMR DataLake集群(EMR-5.8.0和EMR-3.42.0及以上版本)不再包含Hue组件。如果您想在DataLake集群使用Hue,请参见在DataLake集群自建Hue组件

EMR支持Oozie服务吗?如果不支持是否有替代方案?

EMR DataLake集群(EMR-5.8.0和EMR-3.42.0及以上版本)不再包含Oozie组件。如果您需要使用工作流调度服务,可以通过EMR Workflow来实现,详情请参见什么是EMR Workflow

高可用集群为什么部署3个Master节点?

新版EMR高可用集群采用3 Master节点,比2 Master更具可靠性。现在已不支持2 Master节点。

对于高可用集群,EMR会把Master节点分布在不同的底层硬件上以降低故障风险。

如何开启磁盘加密?开启后有什么影响?

您可以在创建集群页面基础配置阶段的高级配置区域,选择是否开启数据盘加密,详情请参见开启数据盘加密

重要

仅支持在创建集群时开启数据盘加密,集群创建后无法开启该功能。

加密数据盘后,数据盘上的动态数据传输以及静态数据都会被加密。如果您的业务存在安全合规要求,则可以使用该功能。数据盘加密后在ECS的OS层面对应用是透明的,因此不会影响作业运行。

如何清理创建失败的集群?

集群创建失败,通常是由于RDS配置错误导致集群部署失败,或者是由于部分ECS没有库存导致的。

如果在创建过程中,集群已经创建出来部分ECS实例,且集群状态为启动失败,这时需要您前往ECS控制台释放该部分ECS实例,在您的ECS实例全部被释放后,EMR集群将会自动释放。

如果在创建过程中,EMR部署失败,且集群状态为异常终止,此时集群不存在任何资源,也不存在任何收费,您可以单击目标集群操作列的删除,清除该集群。

创建集群后,还支持新增服务吗?

EMR支持在集群创建成功后新增部分未安装的服务,详情请参见新增服务

重要
  • 新增服务后,因为部分服务需要手动修改配置并进行重启,所以请在业务低峰期进行新增服务操作。

  • 因为各版本的服务有差异,所以具体待添加的服务请以控制台界面显示为准。

修改服务配置后,是否需要重启服务?

EMR集群的Spark、Hive、HDFS等服务端类型配置修改后,需要重启服务才能生效。EMR集群的客户端类型配置修改后,只需要单击部署客户端配置就能生效,不用重启服务。修改或添加配置项的具体操作请参见管理配置项

EMR的滚动重启是什么意思?

滚动重启机制是指在一个ECS实例重启完成且该实例上的大数据服务全部恢复后,再启动下一个ECS实例。每个节点重启耗时约5分钟。

集群创建后如何绑定公网IP?

您可以单独申请EIP地址,并绑定到未分配公网IP地址的专有网络VPC类型的实例上,使ECS实例可以通过公网访问,详情请参见绑定EIP

什么场景下开启部署集?

部署集是阿里云ECS(Elastic Compute Service)提供的能力,用于控制ECS实例分布的策略。建议为使用本地盘机型的Core节点组开启部署集功能来提升数据安全性。开启部署集可防止多个ECS实例部署在同一个物理机上,避免当某个物理机发生故障时影响多个ECS实例,导致EMR本地HDFS数据丢失。

受ECS部署集本身的限制,目前最多支持20台ECS实例加入部署集。具体操作请参见开启部署集

扩容集群如何指定部署集?

默认本地盘机型会开启部署集,其他机型关闭部署集,您可以根据需要自行调整。开启部署集的具体操作,请参见开启部署集

扩容集群如何指定磁盘大小?

扩容时新节点的磁盘大小跟随节点组设定,无法修改。如有需要,您可以调整节点组的磁盘大小。磁盘扩容的具体操作,请参见扩容磁盘

是否支持磁盘的扩缩容?

仅支持数据盘扩容,不支持数据盘缩容,不支持系统盘扩容或缩容。

您可以在目标集群的节点管理页签,单击目标节点组的磁盘扩容,对数据盘进行扩容。具体操作,请参见扩容磁盘

是否支持集群的扩缩容?

支持,但需注意以下信息:

  • 扩容:仅支持扩展Core节点和Task节点,且新扩展节点的配置默认与已有节点一致。您在扩容时,需确认对应订单已经全部支付,如果存在待支付订单,将造成扩容失败。扩容具体操作,请参见扩容集群

  • 缩容:

    • 对按量付费类型的Task节点组:缩容具体操作,请参见缩容集群

    • 对于包年包月类型的Task节点组或Core节点组:由于包年包月ECS实例需手工退订以及Core节点组会存储HDFS数据,需手工执行decommission操作。缩容具体操作,请参见手工缩容节点组

如何更换节点组ECS实例的配置?

仅包年包月集群支持通过升配来更换节点组ECS实例的配置,且暂不支持降配。

您可以在包年包月的目标集群的节点管理页签,选择Master和Core节点组的more > 配置升级,升级节点组的配置,详情请参见升级节点配置

扩容时报错“The specified parameter AddNumber is not valid”,该如何处理?

  • 问题现象:在集群扩容中遇到报错信息The specified parameter AddNumber is not valid. add instances number :xxx larger than deploymentSet availableAmount: xxx deploymentSetId: ds-uf6gwfou0a13kekupt14xxxx

  • 问题分析:该错误表示您集群已开启部署集功能,且节点组的节点数已到达部署集上限,部署集详情请参见开启部署集

  • 解决方法:请联系ECS服务为您当前账号提升部署集上限。

如何停止采集服务日志?

如果您不想EMR收集您的数据,则可以关闭采集服务日志。

重要

关闭日志采集后,EMR的健康检查和技术支持将受到限制,但其他功能仍可正常使用。因此请谨慎选择。

解决方法:

  1. 关闭采集服务日志

    • 创建集群时:在创建集群的软件配置阶段,单击允许采集服务运行日志

    • 创建集群后:在目标集群的基础信息页面的软件信息区域,单击服务运行日志收集状态

  2. 验证关闭情况。

    查看/usr/local/ilogtail/user_log_config.json中是否存在namenode-log信息,不存在则说明服务日志采集已关闭。

    说明

    关闭服务日志采集后,大约需要2-3分钟来同步该配置,请耐心等待。

服务运行日志收集哪些信息?

服务运行日志收集仅包括集群服务组件运行的日志。您可以选择一键开启或关闭所有服务日志的采集。需要注意的是,关闭日志采集后,集群的健康检测功能以及售后的技术支持都将受限。

重要

创建集群时默认开启服务运行日志收集,您可以根据需要选择是否关闭该功能。具体操作,请参见如何停止采集服务日志?

哪些集群类型支持EMR Doctor功能?

仅DataLake和Hadoop集群类型支持健康检查功能。集群创建后,您可以在EMR控制台目标集群的监控诊断 > 健康检查页签使用该功能。

如果您的Hadoop集群没有此功能,则需要开通EMR Doctor,详情请参见开通EMR Doctor(Hadoop集群类型)

EMR Doctor在安装和升级过程中,是否会对集群组件和集群任务产生影响?

EMR Doctor在安装和升级过程中不会重启任何服务,本身过程也不会对您现有任务产生任何影响,并且在安装结束后,EMR Doctor会将必要参数配置到现有集群中,不需要您再手动进行配置。

EMR Doctor在安装和升级过程中会对YARN、Spark、Tez和Hive服务进行配置整体下发,如果您现有的部分配置只进行了修改保存,并没有下发,则需要您确保下发过程不会对服务造成影响。

EMR Doctor都会采集哪些数据?

EMR Doctor不会采集您的实际数据,也不会扫描您的实际文件和文件内容。

EMR Doctor仅采集必要的事件数据,例如任务启动时间、终止时间、Metrics数据和Counters数据等。

EMR Doctor收费吗?

当前是不收取任何费用的。

采集操作会对任务的运行会产生什么影响?

EMR Doctor存储元数据采集会根据用户资源动态调整采集的资源,不会占用过多用户资源。

EMR Doctor的任务采集使用Java探针技术,不会单独启动Java进程监控。采集使用异步方式,不会阻塞任务主进程,当采集造成的压力过大时,会自动丢弃采集数据,并且您可以根据参数调整采集频率等。

TPC-DS部分测试的数据如下表所示。

SQL及使用引擎

使用EMR Doctor采集时间(10次平均)

不使用EMR Doctor采集时间(10次平均)

query7(Spark)

21.0s

21.2s

query71(Tez)

50.8s

49.8s

query19(MapReduce)

68.6s

68.2s

说明

本文的TPC-DS的实现基于TPC-DS的基准测试,并不能与已发布的TPC-DS基准测试结果相比较,本文中的测试并不符合TPC-DS的基准测试的所有要求。

什么时候可以看到采集报告?

EMR Doctor自安装和升级之后,日报功能会根据用户运行的任务以及是否采集存储元数据来进行分析,所以集群需要存在负载任务。

  • 对于计算任务:当集群的计算任务被收集后,第二天即可看到最新的报告,报告内容是根据前一天的集群任务运行状态对集群整体进行分析后给出的集群评估建议。

  • 对于存储分析:EMR Doctor默认不启用存储采集分析,您可以手动开启存储采集。开启采集后,通常是上午10点左右进行采集,等待所有采集结束后第二天凌晨才会进行分析并生成报告。如果是当天下午才开启采集,则需要第三天才能看到结果。

可以给出配置的具体参数值吗?

EMR Doctor给出的建议,采用的是指向性方式。例如,建议减少内存配置和修改GC参数等,并没有给出具体的参数值。因为EMR Doctor采用打点抽样进行采集,尽量避免对您的程序造成影响,即使推荐配置也需要您进行调整,并验证可行性。

扩容时报错“ECS库存不足”,该如何处理?

  • 问题现象:扩容集群时失败,失败原因显示“ECS库存不足_OutofStock”或“ECS库存不足_OperationDenied.NoStock”。

  • 问题分析:该错误表示您需要扩容的节点组的ECS机型库存不足,无法满足您的扩容需求。

  • 解决方法:您可以等待需要扩容的ECS机型库存充足后再扩容,或者通过新增节点组的方式选择其他ECS机型对集群进行扩容,详情请参见新增节点组

创建集群时报错“ECS库存不足”,该如何处理?

  • 问题现象:新建集群或新增节点组时失败,失败原因显示“ECS库存不足_OutofStock”或“ECS库存不足_OperationDenied.NoStock”。

  • 问题分析:该错误表示您创建集群或新增节点组时选择的ECS机型库存不足,无法满足需求。

  • 解决方法:在创建集群时选择其他库存充足且满足您业务需求的ECS机型。

如何删除不需要的服务?

目前不支持删除集群已有的服务。一旦服务被启动,您将无法通过控制台或API删除已有的服务。

如何登录集群的节点?

E-MapReduce集群创建后,Master节点可以使用创建集群时设置的密码登录,其余节点的登录方式,请查看登录集群其他节点

如何查看实例所属交换机?

在阿里云EMR on ECS中,交换机信息与节点组紧密相关,不可在基础信息页面直接查看。您可以在节点管理页面,单击实例所属的节点组名称,查看该实例关联的交换机信息。image

大规模集群网络丢包如何解决?

  • 问题现象:集群中频繁出现网络丢包现象,系统日志中可能会显示错误信息,例如neighbour: arp_cache: neighbor table overflow!。这表明ARP(Address Resolution Protocol)缓存表达到其容量上限,无法有效管理IP与MAC地址映射,从而导致网络性能问题。

  • 问题分析:在大规模分布式系统中,尤其是当单个集群规模超过1000台服务器,并且使用的是EMR-5.18.0之前或EMR-3.52.0之前(不包括这两个版本)时,可能会遭遇网络不稳定及数据丢包的问题。为此,可以通过调整系统参数来优化ARP Cache的管理。

    ARP Cache存储IP地址与MAC地址的映射关系,其参数配置如下:

    • net.ipv4.neigh.default.gc_thresh1:当ARP表小于该值时,不进行垃圾回收。默认值为128。

    • net.ipv4.neigh.default.gc_thresh2:当ARP表超出该值时,5秒内进行垃圾回收。默认值为512。

    • net.ipv4.neigh.default.gc_thresh3:ARP表的最大容量。默认值为1024。

    说明

    由于默认配置较小,导致集群规模超过1000台后,出现网络丢包和不稳定现象,因此需要调整相关配置。

  • 解决方法:

    1. 编辑/etc/sysctl.conf文件,增加以下内容以扩大ARP缓存的容量限制及优化连接跟踪最大值。

          net.ipv4.neigh.default.gc_thresh1 = 512
          net.ipv4.neigh.default.gc_thresh2 = 2048
          net.ipv4.neigh.default.gc_thresh3 = 10240
          net.nf_conntrack_max = 524288
    2. 执行命令sudo sysctl -p,以使新的设置生效。

      说明

      如果在执行sysctl -p命令时遇到错误信息sysctl: cannot stat /proc/sys/net/nf_conntrack_max: No such file or directory,请首先运行命令sudo modprobe nf_conntrack以加载相应模块,然后再尝试使用sysctl -p更新配置。