本文为您介绍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 5.x系列
EMR版本 | Hadoop版本 | HBase版本 | Phoenix版本 | 新特性 |
EMR 5.8.0 | 3.2.1 | 2.3.4 | 5.1.2 | 支持存算分离架构 |
EMR 5.9.0 | 3.2.1 | 2.4.9 | 5.1.2 |
|
EMR 5.10.0 | 3.2.1 | 2.4.9 | 5.1.2 |
|
EMR-5.11.0 | 3.2.1 | 2.4.9 | 5.1.2 |
|
EMR-5.11.1 | 3.2.1 | 2.4.9 | 5.1.2 | 无 |
EMR-5.12.0 | 3.2.1 | 2.4.9 | 5.1.2 |
|
EMR-5.12.2 | 3.2.1 | 2.4.9 | 5.1.2 | |
EMR-5.13.1 | 3.2.1 | 2.4.9 | 5.1.2 | 无 |
EMR-5.14.2 | 3.2.1 | 2.4.9 | 5.1.2 | 无 |
EMR-5.15.1 | 3.2.1 | 2.4.9 | 5.1.2 | 在配置中增加配置项,您可以根据自己的需求选择HBase Thrift Server的版本,包括v1和v2。 |
EMR 3.x系列
EMR版本 | Hadoop版本 | HBase版本 | Phoenix版本 | 新特性 |
EMR 3.42.0 | 2.8.5 | 1.4.9 | 4.14.1 | 支持存算分离架构 |
EMR 3.43.0 | 2.8.5 | 1.7.1 | 4.16.1 | 支持高安全模式 |
EMR 3.43.1 | 2.8.5 | 1.7.1 | 4.16.1 | |
EMR 3.44.0 | 2.8.5 | 1.7.1 | 4.16.1 |
|
EMR 3.44.1 | 2.8.5 | 1.7.1 | 4.16.1 |
|
EMR-3.45.0 | 2.8.5 | 1.7.1 | 4.16.1 |
|
EMR-3.45.1 | 2.8.5 | 1.7.1 | 4.16.1 | |
EMR-3.46.0 | 2.8.5 | 1.7.1 | 4.16.1 |
|
EMR-3.46.2 | 2.8.5 | 1.7.1 | 4.16.1 | |
EMR-3.47.1 | 2.8.5 | 1.7.1 | 4.16.1 | 无 |
EMR-3.48.2 | 2.8.5 | 1.7.1 | 4.16.1 | 无 |
EMR-3.49.1 | 2.8.5 | 1.7.1 | 4.16.1 | 在配置中增加配置项,您可以根据自己的需求选择HBase Thrift Server的版本,包括v1和v2。 |
HBase版本兼容性
HBase从1.0版本开始遵循SemVer版本兼容协议,以版本号的Major、Minor、Minor三部分来明确版本之间的兼容性。以HBase 2.4.9版本为例,版本号的Major对应为2,Minor对应为4,Patch对应为9。
兼容性 | Major | Minor | Patch |
Client-Server接口/协议兼容性 | N | Y | Y |
Server-Server接口/协议兼容性 | N | Y | Y |
文件格式兼容性 | N | Y | Y |
Client API 兼容性 | N | Y | Y |
表格中的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版本。