本文介紹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功能訪問互聯網。
文檔內容是否對您有幫助?