本文汇总了使用EMR Workflow时的常见问题。
报错“The bucket you access does not belong to you”问题
问题详情
当您的任务或者工作流运行失败时,日志信息中包含The bucket you access does not belong to you
的错误信息。详细信息如下图所示。
问题原因
您绑定的集群使用了OSS-HDFS作为集群存储根路径,但是EMR Worflow的AliyunEMRWorkflowDefaultRole角色没有访问OSS-HDFS的权限。需要您额外授予EMR Workflow访问OSS-HDFS的权限。
解决方案
使用阿里云账号(主账号)或具有管理权限的RAM用户登录RAM控制台。
创建权限策略。
在左侧导航栏,选择
。在权限策略页面,单击创建权限策略。
在创建权限策略页面,单击脚本编辑,填写以下信息,单击继续编辑基本信息。
{ "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" }
在创建权限策略页面,设置权限策略的名称(例如EMRWorkflowDefaultRolePolicyExtra),单击确定。
为RAM角色授权。
在左侧导航栏,选择
。搜索并单击角色AliyunEMRWorkflowDefaultRole。
在权限管理页面,单击新增授权。
在新增授权页面,单击自定义策略。
输入并选择上一步中您创建的权限策略的名称(例如EMRWorkflowDefaultRolePolicyExtra),单击确定。
如何在仅部分worker节点安装了依赖环境的集群中执行PySpark?
在仅部分worker节点安装了依赖环境的集群中执行PySpark,按照以下步骤进行操作:
使用SPARK任务类型,程序类型选择CUSTOM_SCRIPT,开启提交到Yarn执行开关,并且填写完整的spark-submit命令。
使用Yarn Node Labels特性,将Spark作业调度到已安装所需Python第三方依赖环境的节点上,详情请参见Node Labels特性使用。
文档内容是否对您有帮助?