Description
Ranger fails to start when Hadoop core is using LDAPGroupMapping with class not found. This happens when SSL is enabled for ranger admin and "hadoop.security.group.mapping.provider.ldap.bind.password.file" property is configured in core-site.xml.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/Charsets
at org.apache.hadoop.security.LdapGroupsMapping.extractPassword(LdapGroupsMapping.java:667)
at org.apache.hadoop.security.LdapGroupsMapping.setConf(LdapGroupsMapping.java:588)
at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:76)
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:136)
at org.apache.hadoop.security.CompositeGroupsMapping.addMappingProvider(CompositeGroupsMapping.java:139)
at org.apache.hadoop.security.CompositeGroupsMapping.loadMappingProviders(CompositeGroupsMapping.java:131)
at org.apache.hadoop.security.CompositeGroupsMapping.setConf(CompositeGroupsMapping.java:118)
at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:76)
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:136)
at org.apache.hadoop.security.Groups.<init>(Groups.java:100)
at org.apache.hadoop.security.Groups.<init>(Groups.java:95)
at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:420)
at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:324)
at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:291)
at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:846)
at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:816)
at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:689)
at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:2955)
at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:2945)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2811)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:390)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295)
at org.apache.hadoop.security.alias.JavaKeyStoreProvider.initFileSystem(JavaKeyStoreProvider.java:89)
at org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider.<init>(AbstractJavaKeyStoreProvider.java:82)
at org.apache.hadoop.security.alias.JavaKeyStoreProvider.<init>(JavaKeyStoreProvider.java:49)
at org.apache.hadoop.security.alias.JavaKeyStoreProvider.<init>(JavaKeyStoreProvider.java:41)
at org.apache.hadoop.security.alias.JavaKeyStoreProvider$Factory.createProvider(JavaKeyStoreProvider.java:100)
at org.apache.hadoop.security.alias.CredentialProviderFactory.getProviders(CredentialProviderFactory.java:71)
at org.apache.ranger.server.tomcat.EmbeddedServer.getDecryptedString(EmbeddedServer.java:495)
at org.apache.ranger.server.tomcat.EmbeddedServer.start(EmbeddedServer.java:142)
at org.apache.ranger.server.tomcat.EmbeddedServer.main(EmbeddedServer.java:76)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.Charsets
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 31 more
Attachments
Attachments
Issue Links
- Blocked
-
RANGER-1989 Ranger Admin may fail to start after enabling SSLHadoop GroupMapping
- Resolved