반응형
1. 원인
yarn-site.xml 기입을 할 때
aux-service handler 를 설정하지 않았던 이유가 컸다.
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
-> aux-services 을 설정할 때 아래에 mapreduce_shuffle.class 설정을 반드시 해주어야 한다.
왜 aux-service 설정시 mapreduce_shuffle.class 을 설정해주어야 하는지 궁금해서 서치를 해보았더니
주로 나오는 이유는 아래와 같았다.
1) must have 로 꼭 기입해야만 한다.
2) mapreduce의 shuffle 메커니즘이 존재하지 않아 maptask 작업을 수행할 수 없다
하둡 공식 문서를 읽어봐도 mapreduce_shuffle.class 설정은 default 값이라고 하는 것을 보니
의무적으로 yarn-site.xml 파일에 기입을 하지 않아도 적용이 되지만,
The auxService:mapreduce_shuffle does not exist
에러가 발생할 경우에는 기입하는 것이 좋다는 것 같다.
2. 참고 링크
https://stackoverflow.com/questions/26381540/the-auxservicemapreduce-shuffle-does-not-exist
반응형