You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Such definition would cause a ClassNotFoundException when starting an application master of Dragon.
12/05/29 14:45:33 ERROR app.DragonAppMaster: Error starting DragonAppMaster
org.apache.hadoop.yarn.YarnException: Failed to Start org.apache.hadoop.realtime.client.app.DragonAppMaster
at org.apache.hadoop.yarn.service.CompositeService.start(CompositeService.java:78)
at org.apache.hadoop.realtime.client.app.DragonAppMaster.start(DragonAppMaster.java:155)
at org.apache.hadoop.realtime.client.app.DragonAppMaster$1.run(DragonAppMaster.java:218)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1177)
at org.apache.hadoop.realtime.client.app.DragonAppMaster.initAndStartAppMaster(DragonAppMaster.java:214)
at org.apache.hadoop.realtime.client.app.DragonAppMaster.main(DragonAppMaster.java:200)
Caused by: org.apache.hadoop.yarn.YarnException: Failed to load class: [org.apache.hadoop.yarn.proto.DragonClientProtocol$DragonClientProtocolService]
at org.apache.hadoop.yarn.factories.impl.pb.RpcServerFactoryPBImpl.getServer(RpcServerFactoryPBImpl.java:105)
at org.apache.hadoop.yarn.ipc.HadoopYarnProtoRPC.getServer(HadoopYarnProtoRPC.java:63)
at org.apache.hadoop.realtime.client.DragonClientService.start(DragonClientService.java:134)
at org.apache.hadoop.yarn.service.CompositeService.start(CompositeService.java:68)
... 7 more
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.yarn.proto.DragonClientProtocol$DragonClientProtocolService
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:1162)
at org.apache.hadoop.yarn.factories.impl.pb.RpcServerFactoryPBImpl.getServer(RpcServerFactoryPBImpl.java:103)
... 10 more
RpcServerFactoryPBImpl hard coded namespace suffix and class suffix of every protocol we defined. It force yarn users to define a protocol in a entailed namespace, below is some lines of RpcServerFactoryPBImpl.java that issues in the bug.
It's not a bug of Dragon, but is of Hadoop Yarn.
We defined wire protocol use protobuf with the java package name "org.apache.hadoop.realtime.proto"
Such definition would cause a ClassNotFoundException when starting an application master of Dragon.
RpcServerFactoryPBImpl hard coded namespace suffix and class suffix of every protocol we defined. It force yarn users to define a protocol in a entailed namespace, below is some lines of RpcServerFactoryPBImpl.java that issues in the bug.
The text was updated successfully, but these errors were encountered: