You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by Apache Wiki <wi...@apache.org> on 2011/06/16 16:53:18 UTC

[Hadoop Wiki] Update of "HadoopJavaVersions" by SteveLoughran

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.

The "HadoopJavaVersions" page has been changed by SteveLoughran:
http://wiki.apache.org/hadoop/HadoopJavaVersions?action=diff&rev1=8&rev2=9

Comment:
more JVM details

  = Hadoop Java Versions =
  Hadoop requires Java 1.6+. It is built and tested on Oracle (nee Sun) Java, which is the only "supported" JVM.
  
- If you have a problem with Hadoop, and you are running anything other than the official Sun JDK, you are likely to be asked to try and run Hadoop on the Oracle JDK/JVM, to see if the problem goes away. That said, patches that help Hadoop run on other JVMs ''which do not effect the stability or performance of Hadoop on the Oracle JVM'' are encouraged.
+ If you have a problem with Hadoop, and you are running anything other than the official Sun/Oracle JDK, you are likely to be asked to try and run Hadoop on the Oracle JDK/JVM, to see if the problem goes away. That said, patches that help Hadoop run on other JVMs ''which do not effect the stability or performance of Hadoop on the Oracle JVM'' are encouraged.
  
  == Sun JDK ==
  
@@ -15, +15 @@

   || 1.6.0_20 || Good || LinkedIn, Cloudera ||
   || [[http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-136632.html|1.6.0_21]] || Good || Yahoo!, Cloudera ||
  
+ The Sun JVM has 32-bit and 64-bit modes. In a large cluster the NameNode and JobTracker need to run in 64-bit mode to keep all their data structures in memory.
+ The workers can be set up for either 32-bit or 64-bit operation, depending upon preferences and how much memory the individual tasks need. Problems have been reported with Hadoop, the 64-bit JVM and Compressed Object References (the -XX:+UseCompressedOops option), so use of that option is discouraged.
+ 
+ 
  == OpenJDK ==
  Hadoop does build and run on OpenJDK.
  
  OpenJDK is handy to have on a development system as it has more source for you to step into when debugging something. OpenJDK and Sun JDK mainly differ in (native?) rendering/AWT/Swing code, which is not relevant for any MapReduce Jobs that aren't creating images as part of their work.
  
  == Oracle JRockit ==
- Hadoop has been used on JRockit, though maybe not at "production" scale.
+ 
+ Oracle's JRockit JVM is not the same as the Sun JVM: it has very different heap and memory management behavior. Hadoop has been used on JRockit, though not at "production" scale.
  
   1. [[http://forums.oracle.com/forums/thread.jspa?messageID=3474253|Problems spawning jobs]]
   1. [[https://issues.apache.org/jira/browse/MAPREDUCE-593|One of the tests doesn't like JRockit]]