Hadoop 需要匹配的Java版本介绍

Hadoop Java版本

本文主要参照Java版本在HadoopJavaVersions中描述
https://wiki.apache.org/hadoop/HadoopJavaVersions

Apache Hadoop的2.7及更高版本需要Java 7.它是在OpenJDK和Oracle(HotSpot)的JDK / JRE 上构建和测试的

早期版本(2.6及更早版本)支持Java 6。

经测试的JDK

以下是已知的JDK或已经过测试的JDK:

  • 状态

    报道

    oracle 1.7.0_15

    Cloudera的

    oracle 1.7.0_21

    好(4)

    Hortonworks

    oracle 1.7.0_45

    关键的

    openjdk 1.7.0_09-icedtea

    好(5)

    Hortonworks

    oracle 1.6.0_16

    避免(1)

    Cloudera的

    oracle 1.6.0_18

    避免

    许多

    oracle 1.6.0_19

    避免

    许多

    oracle 1.6.0_20

    好(2)

    LinkedIn,Cloudera

    oracle 1.6.0_21

    好(2)

    雅虎,Cloudera

    oracle 1.6.0_24

    Cloudera的

    oracle 1.6.0_26

    好(2)

    Hortonworks,Cloudera

    oracle 1.6.0_28

    LinkedIn

    oracle 1.6.0_31

    好(3,4)

    Cloudera,Hortonworks

  1. Hadoop在update 16中运行良好,但是在HBase上已经出现了更新19之前的JDK版本。有关详细信息,请参阅HBASE-4367
  2. 如果网格以MIT Kerberos 1.8及更高版本在安全模式下运行,则Java版本应为1.6.0_27或更高,以避免Java错误6979329
  3. Hortonworks已通过RHEL5 / CentOS5,RHEL6 / CentOS6和SLES11下的JDK 1.6.0_31认证,包括Hadoop 1.x,HBase,Pig,Hive,HCatalog,Oozie,Sqoop和Ambari。
  4. Hortonworks已经在RHEL5 / CentOS5,RHEL6 / CentOS6和SLES11下使用Hadoop 2.2.0,HBase 0.96,Pig,Hive,HCatalog,Oozie,Sqoop和Ambari对JDK 1.6.0_31和Oracle 1.7.0.21进行了认证。
  5. Hortonworks已经通过Hadoop 2.2.0,HBase 0.96,Pig,Hive,HCatalog,Oozie,Sqoop和Ambari在RHEL6上认证了openjdk 1.7.0_09-icedtea。

压缩对象指针和Java 6

Sun JVM具有32位和64位模式。在大型集群中,NameNodeJobTracker需要以64位模式运行,以将所有数据结构保留在内存中。工作人员可以设置为32位或64位操作,具体取决于个人任务需要的偏好和内存。

使用压缩对象引用JVM功能(-XX:+ UseCompressedOops)减少了64位Sun JVM上的内存消耗并提高了性能。该功能在1.6.0_14中首次引入,但在1.6.0_20之前版本中使用该功能的问题已有报道。有几个人报告说在1.6.0_21及以上版本使用它。这是64位JVM上1.6.0_24及更高版本的默认值,现在看起来是稳定的。

发现和检查Sun JVM confuguration标志的有用提示在以下博客文章中:inspecting-hotspot-jvm-options

OpenJDK 7

OpenJDK已被用于验证Hadoop 2.2和RHEL6上其余的Hortonworks软件包。没有注意到任何问题。

Oracle JRockit

Oracle的JRockit JVM与Sun JVM不同:它具有非常不同的堆和内存管理行为。Hadoop已经在JRockit上使用,虽然不是“生产”规模。

  1. 问题产卵工作

  2. 其中一个测试不喜欢JRockit

  3. Log4J配置问题

IBM JDK

任何具有关于Hadoop 2.x与IBM JDK兼容性信息的人都可以编辑这个wiki。

旧版本的Hadoop(0.20.2)已经过全面测试,可以与IBM Java 6 SR 8一起使用可以在这里下载 IBM Java 

JVM / JDK开发人员请求帮助

我们强烈建议任何生产JVM / JDK的人测试编译并运行Hadoop。它使一个梦幻般的表现和压力测试。随着Hadoop正在成为关键的后端数据中心应用程序,良好的Hadoop支持很重要。

猜你喜欢

转载自blog.csdn.net/cyg521/article/details/79010187
今日推荐