本文介绍EMR集群不支持跨区域访问OSS问题的原因及解决方案。
访问OSS出现Fail to wait EPOLLOUT
报错详情:
[emr-user@core-1-1~]$hadoopfs-lsoss://jindo-oss-runjob-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/ 2022-11-2817:12:19,926WARNjnative.NativeLogger:socket.cpp:1223]FailtowaitEPOLLOUToffd=212 2022-11-2817:12:29,439WARNjnative.NativeLogger:socket.cpp:1223]FailtowaitEPOLLOUToffd=212 2022-11-2817:12:39,452WARNjnative.NativeLogger:socket.cpp:1223]FailtowaitEPOLLOUToffd=212 2022-11-2817:12:50,468WARNjnative.NativeLogger:socket.cpp:1223]FailtowaitEPOLLOUToffd=212 2022-11-2817:12:53,968WARNjnative.NativeLogger:socket.cpp:1223]FailtowaitEPOLLOUToffd=207
报错原因:
EMR集群默认不支持在Core节点(新版控制台)或Worker节点(旧版控制台)跨区域访问OSS。
解决方法:
建议您使用相同区域的OSS Bucket。
创建集群时所有节点都打开挂载公网开关或集群创建后在ECS控制台开通公网IP地址,且使用OSS的外网Endpoint进行访问。
若您因业务需要跨区域复制,请参见跨区域复制概述。
若您因业务需要跨区域访问,建议您可以给集群所在的VPC或交换机配置公网NAT网关。具体操作,请参见使用公网NAT网关SNAT功能访问互联网。
文档内容是否对您有帮助?