Hadoop의 yarn-client와 연결 시에 아래와 같은 에러 발생한다면

1
2
3
18/02/01 11:21:43 ERROR client.TransportClient: Failed to send RPC 8239418781252696800 to datanode-c/192.168.10.29:41292: java.nio.channels.ClosedChannelException
java.nio.channels.ClosedChannelException
 
cs


Java 8의 과도한 메모리 할당 문제로 인해서 yarn 클러스터 연관성이 있을 수 있습니다.



따라서 hadoop의 홈 디렉터리 이하에 /etc/hadoop 에서 yarn-site.xml 설정 파일을 적절히 수정할 필요가 있습니다.

 : yarn-site.xml 편집

1
2
$ vi /usr/local/hadoop/etc/hadoop/yarn-site.xml
 
cs


 : 수정 후 저장 및 종료

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<configuration>
 
...
 
<property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
</property>
<property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
</property>
</configuration>
 
cs

* yarn.nodemanager.pmem-check-enabled: 물리적 메모리 제한이 컨테이너에 적용되는지 여부

* yarn.nodemanager.vmem-check-enabled: 가상 메모리 제한이 컨테이너에 적용되는지 여부


아래의 증상도 동일한 이유에서 발생되는 에러가 아닐까 생각됩니다.

 : 증상 1

1
2
18/02/01 11:21:43 ERROR cluster.YarnScheduler: Lost executor 2 on datanode-b: Slave lost
 
cs


 : 증상 2

1
2
3
18/02/01 11:21:43 ERROR client.TransportClient: Failed to send RPC 6587330219710502294 to datanode-c/192.168.10.29:41292: java.nio.channels.ClosedChannelException
java.nio.channels.ClosedChannelException
 
cs


 : 증상 3

1
2
18/02/01 11:21:43 ERROR cluster.YarnScheduler: Lost executor 1 on datanode-c: Slave lost
 
cs



출처: https://stackoverflow.com/questions/39467761/how-to-know-what-is-the-reason-for-closedchannelexceptions-with-spark-shell-in-y



+ Recent posts