Why Do Reduce Tasks Fail to Run in Some OSs After the Native Task Feature is Enabled?
Question
When -Dmapreduce.job.map.output.collector.class=org.apache.hadoop.mapred.nativetask.NativeMapOutputCollectorDelegator is executed to enable the Native Task feature during the running of MapReduce tasks that contain Reduce tasks, the tasks fail to run in some OSs, and the error message "version 'GLIBCXX_3.4.20' not found" is displayed in logs.
Answer
The cause is that the GLIBCXX version of the OSs is too early. As a result, the libnativetask.so.1.0.0 library on which the feature depends cannot be loaded, leading to task failures.
Workaround:
- Log in to FusionInsight Manager.
- Choose Cluster > Services > Yarn > Configurations > All Configurations.
- In the navigation pane, choose ResourceManager(Role) > Customization.
- Add the following content to the resourcemanager.mapred-site.customized.configs parameter:
- Name: Set it to mapreduce.job.map.output.collector.class.
- Value: Set it to org.apache.hadoop.mapred.MapTask$MapOutputBuffer.
- Save the settings. Restart the expired service or instance for the configuration to take effect.
- After the modification is complete, download the client again or update the client configuration.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.