常见问题

更新时间:
复制 MD 格式

本文汇总了使用EMR Workflow时的常见问题。

报错“The bucket you access does not belong to you”问题

问题详情

当您的任务或者工作流运行失败时,日志信息中包含The bucket you access does not belong to you的错误信息。详细信息如下所示。

at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:397)
at org.apache.hadoop.fs.FileUtil.copy(FileUtil.java:387)
at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:2369)
at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:2335)
at org.apache.hadoop.fs.FileSystem.copyFromLocalFile(FileSystem.java:2298)
at org.apache.hadoop.yarn.applications.shellonyarn.Client.addToLocalResources(Client.java:1250)
at org.apache.hadoop.yarn.applications.shellonyarn.Client.run(Client.java:835)
at org.apache.hadoop.yarn.applications.shellonyarn.Client.main(Client.java:282)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.hadoop.util.RunJar.run(RunJar.java:323)
at org.apache.hadoop.util.RunJar.main(RunJar.java:236)
Caused by: ErrorCode : 3005, ErrorMessage : Caused by error 6403: [E1010]HTTP/1.1 403 Forbidden: &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;<Error>  <Code>AccessDenied</Code>  <Message>The bucket you access does not belong to you.</Message>  <RequestId>653B75B672xxx</RequestId>  <HostId>xxx hangzhou.oss-dls.aliyuncs.com</HostId>  <EC>0003-00000001</EC>  <RecommendDoc>https://api.aliyun.com/troubleshoot?q=0003-00000001</RecommendDoc></Error> [ErrorCode]: 1010
at com.aliyun.jindodata.api.spec.JdoNativeResult.get(JdoNativeResult.java:58)
at com.aliyun.jindodata.api.spec.protos.coder.JdoGetFileStatusReplyDecoder.decode(JdoGetFileStatusReplyDecoder.java:23)
at com.aliyun.jindodata.api.JindoCommonApis.getFileStatus(JindoCommonApis.java:78)
at com.aliyun.jindodata.call.JindoGetFileStatusCall.execute(JindoGetFileStatusCall.java:44)
... 16 more

问题原因

您绑定的集群使用了OSS-HDFS作为集群存储根路径,但是EMR WorflowAliyunEMRWorkflowDefaultRole角色没有访问OSS-HDFS的权限。需要您额外授予EMR Workflow访问OSS-HDFS的权限。

解决方案

  1. 使用阿里云账号(主账号)或具有管理权限的RAM用户登录RAM控制台

  2. 创建权限策略。

    1. 在左侧导航栏,选择权限管理 > 权限策略

    2. 权限策略页面,单击创建权限策略

    3. 创建权限策略页面,单击脚本编辑,填写以下信息,单击确定

      {
          "Statement": [
              {
                "Effect": "Allow",
                "Action": "oss:ListObjects",
                "Resource": [
                  "acs:oss:*:*:*"
                ]
              },
              {
                  "Effect": "Allow",
                  "Action": [
                      "oss:GetBucketInfo",                
                      "oss:PostDataLakeStorageFileOperation",
                      "oss:PostDataLakeStorageAdminOperation"
                  ],
                  "Resource": "*"
              },
              {
                  "Effect": "Allow",
                  "Action": "oss:*",
                  "Resource": [
                      "acs:oss:*:*:*/.dlsdata",
                      "acs:oss:*:*:*/.dlsdata*"
                  ]
              }
          ],
          "Version": "1"
      }
    4. 创建权限策略对话框中,设置权限策略的名称(例如EMRWorkflowDefaultRolePolicyExtra),单击确定

  3. RAM角色授权。

    1. 在左侧导航栏,选择身份管理 > 角色

    2. 搜索并单击角色AliyunEMRWorkflowDefaultRole

    3. 权限管理页面,单击新增授权

    4. 新增授权页面,选择自定义策略

    5. 输入并选择上一步中您创建的权限策略的名称(例如EMRWorkflowDefaultRolePolicyExtra),单击确认新增授权

标题默认是 H2,请按需要调整为合适的标题级别。相邻区块应该使用同级别标题,嵌套区块应该使用低一级的标题。

如何在仅部分worker节点安装了依赖环境的集群中执行PySpark?

在仅部分worker节点安装了依赖环境的集群中执行PySpark,按照以下步骤进行操作:

  1. 使用SPARK任务类型,程序类型选择CUSTOM_SCRIPT,开启提交到Yarn执行开关,并且填写完整的spark-submit命令。

  2. 使用Yarn Node Labels特性,将Spark作业调度到已安装所需Python第三方依赖环境的节点上,详情请参见Node Labels特性使用

报错“current cpu load average 0.0 is too high or available memory xxxG is too low, under max.cpuload.avg=2.0 and reserved.memory=xxxG”问题

问题详情

如果提交的任务处于卡顿状态且状态显示为提交成功,即使将所有之前卡住的任务停止,手动重新运行一个任务仍然会出现卡顿并报错。

问题原因

由于调度资源组与Pod的概念存在差异,停止任务并不会自动释放内存,资源组将持续占用内存。因此,当任务增加或数据量上升时,可能会导致调度资源组出现内存不足的错误。

解决方案

建议您对资源组进行扩容,或选择更大规格的资源组,同时释放小规格的资源组。