EMR Spark - TransportClient:无法发送RPC

时间:2017-05-24 12:51:42

标签: apache-spark yarn emr

我收到此错误,我尝试在集群实例以及执行程序和驱动程序参数中增加内存而没有成功。

17/05/07 23:17:07 ERROR TransportClient: Failed to send RPC 6465703946954088562 to ip-172-30-12-164.eu-central-1.compute.internal/172.30.12.164:34706: java.nio.channels.ClosedChannelException

有没有人有任何线索来修复此错误?

BTW我正在使用YARN作为集群管理器

提前致谢

2 个答案:

答案 0 :(得分:4)

最后我解决了这个问题。这是由于磁盘空间不足。一列hadoop日志显示:

Hadoop YARN:1/1 local-dirs很糟糕:/ var / lib / hadoop-yarn / cache / yarn / nm-local-dir; 1/1 log-dirs是坏的:/ var / log / hadoop-yarn / containers

谷歌搜索我发现http://gethue.com/hadoop-yarn-11-local-dirs-are-bad-varlibhadoop-yarncacheyarnnm-local-dir-11-log-dirs-are-bad-varloghadoop-yarncontainers/

  

“如果您收到此错误,请留出一些磁盘空间!”

要查看此错误,我必须在EMR中激活纱线日志。见

  

http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-web-interfaces.html

要访问集群ec2实例中的日志端口,我要求roger更改它的安全组

即:

  

主实例在这里听:172.30.12.84:8088核心   例如:172.30.12.21:8042

最后,我修复了etl.py中更改其他具有更大磁盘的实例类型的问题:

  

master:m3.2xlarge
  核心:c3.4xlarge

答案 1 :(得分:4)

当我在笔记本电脑中设置hadoop和spark并尝试以“ spark-shell --master yarn”启动spark时,我得到了相同的错误消息。

解决方案:

sudo vim /usr/local/hadoop/etc/hadoop/yarn-site.xml

添加以下属性:

<property>       
<name>yarn.nodemanager.vmem-pmem-ratio</name>      
<value>5</value>  
</property>

然后重新启动hadoop服务

stop-all.sh 
start-all.sh