我收到此错误,我尝试在集群实例以及执行程序和驱动程序参数中增加内存而没有成功。
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作为集群管理器
提前致谢
答案 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
“如果您收到此错误,请留出一些磁盘空间!”
要查看此错误,我必须在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