[
https://issues.apache.org/jira/browse/HADOOP-6941?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12907510#action_12907510
]
Stephen Watt commented on HADOOP-6941:
--------------------------------------
@Owen - I'm working on getting Harmony working on Hadoop at present. We're
pretty close, and have workarounds for most issues but the trick is to fix the
issues in such a way that we can create a patch with a resolution that works
for all the JREs.
Yes, there are equivalent classes for both IBM Java and Harmony, so we could do
something whereby it identifies the JRE and then loads the appropriate library,
but I'm looking to see if there is a more extensible approach.
@Nicholas - Yes, Hadoop 0.20.x works just fine on IBM Java. I've submitted
patches targeted for 0.20.3 - see HADOOP-6923 and HADOOP-6924 - that makes
Hadoop 0.20.x work cross JRE. The com.sun.security.auth classes were
introduced with Hadoop 0.21
> Hadoop 0.21 will not work on non-SUN JREs due to use of com.sun.security in
> org/apache/hadoop/security/UserGroupInformation.java
> --------------------------------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-6941
> URL: https://issues.apache.org/jira/browse/HADOOP-6941
> Project: Hadoop Common
> Issue Type: Bug
> Affects Versions: 0.21.0
> Environment: SLES 11, Apache Harmony 6 and SLES 11, IBM Java 6
> Reporter: Stephen Watt
> Fix For: 0.21.0, 0.21.1, 0.22.0
>
>
> Attempting to format the namenode or attempting to start Hadoop using Apache
> Harmony or the IBM Java JREs results in the following exception:
> 10/09/07 16:35:05 ERROR namenode.NameNode: java.lang.NoClassDefFoundError:
> com.sun.security.auth.UnixPrincipal
> at
> org.apache.hadoop.security.UserGroupInformation.<clinit>(UserGroupInformation.java:223)
> at java.lang.J9VMInternals.initializeImpl(Native Method)
> at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
> at
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.setConfigurationParameters(FSNamesystem.java:420)
> at
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.java:391)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1240)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1348)
> at
> org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1368)
> Caused by: java.lang.ClassNotFoundException:
> com.sun.security.auth.UnixPrincipal
> at java.net.URLClassLoader.findClass(URLClassLoader.java:421)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:652)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:346)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:618)
> ... 8 more
> This is a negative regression as previous versions of Hadoop worked with
> these JREs
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.