本文为您介绍HBase版本的兼容性、选择建议以及发布记录。

EMR HBase版本

EMR HBase随EMR版本一起发布,EMR主版本分为3.x系列和5.x系列,其中EMR 3.x系列版本对应Hadoop 2.x版本和HBase 1.x版本,EMR 5.x系列版本对应Hadoop 3.x版本和HBase 2.x版本。

以下是EMR已发布的EMR版本和对应的Hadoop、HBase、Phoenix版本,以及每个版本支持的新特性。

EMR版本Hadoop版本HBase版本Phoenix版本新特性
EMR 3.42.02.8.51.4.94.14.1支持存算分离架构
EMR 5.8.03.2.12.3.45.1.2支持存算分离架构
EMR 3.43.02.8.51.7.14.16.1支持高安全模式
EMR 5.9.03.2.12.4.95.1.2
  • 支持高安全模式
  • 支持CCSMap,写性能相比社区提升30%+
EMR 3.44.02.8.51.7.14.16.1
  • 集成Ranger
  • 集成Knox
  • 支持HBase表冷数据分析
EMR 5.10.03.2.12.4.95.1.2
  • 集成Ranger
  • 集成Knox
  • 支持HBase表冷数据分析
EMR-3.45.02.8.51.7.14.16.1
  • 支持ThriftServer2。
  • 参数hbase.block.data.cachecompressed的默认值改为true。
EMR-5.11.03.2.12.4.95.1.2
  • 支持JDK 11。
  • 支持ThriftServer2。
  • 参数hbase.block.data.cachecompressed的默认值改为true。

HBase版本兼容性

HBase从1.0版本开始遵循SemVer版本兼容协议,以版本号的Major、Minor、Minor三部分来明确版本之间的兼容性。以HBase 2.4.9版本为例,版本号的Major对应为2,Minor对应为4,Patch对应为9。

兼容性MajorMinorPatch
Client-Server接口/协议兼容性NYY
Server-Server接口/协议兼容性NYY
文件格式兼容性N YY
Client API 兼容性NYY
说明 表格中的N表示不兼容,Y表示兼容。

HBase版本兼容性详情请参见Apache HBase Reference Guide

  • 跨Major版本升级,HBase无法保证兼容性。
  • 跨Minor版本升级,HBase可以保证兼容性。
  • 跨Patch版本升级,HBase可以保证兼容性。

EMR HBase版本选择

  • 如果是自建HBase集群迁移到EMR HBase,可以选择接近的EMR HBase版本进行迁移。
  • 如果没有自建集群,可根据依赖的Hadoop版本,选择EMR 3.x或EMR 5.x系列的HBase版本。