坑爹的一次bug,ClassNotFoundException:yarn.server.resourcemanager.CapacityScheduler,(xml配置異常,隱蔽的錯誤)
阿新 • • 發佈:2020-12-31
技術標籤:bug異常
cuowei在配置yarn-site.xml時,發生了很隱蔽的bug,由於在配置的標籤中使用了換行,導致讀取的類出現class not found exception,
xml的value標籤之間不要換行或者有空格
Caused by: java.lang.ClassNotFoundException:
org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.createScheduler(ResourceManager.java:304)
正確配置如下:value標籤之間不要換行或者有空格
<property>
<name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
</property>
錯位配置如下:
<property> <name>yarn.resourcemanager.scheduler.class</name> <value> org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler </value> </property>
另外注意一點:
xml的註釋,多加--也會報錯。