[Hadoop Error] The auxService:mapreduce_shuffle does not exist
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
The auxService:mapreduce_shuffle does not exist
When I am trying to run the below command: # sqoop import --connect jdbc:mysql://IP Address/database --username root --password PASSWORD --table table_name --m 1 for importing the data from mysql
stackoverflow.com
Apache Hadoop 3.3.3 – Hadoop: Pluggable Shuffle and Pluggable Sort
<!--- Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or a
hadoop.apache.org