Amazon 的预写日志 (WAL) EMR - Amazon EMR

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon 的预写日志 (WAL) EMR

在 Amazon EMR 6.15 及更高版本中,你可以将 Apache HBase 预写日志 () 写WAL入亚马逊。EMR WAL在 Amazon EMR 版本较低的情况下,当您使用 “on Amaz HBase on S3” 选项创建集群时,WAL是唯一存储在本地磁盘中用于集群的 Apache HBase 组件,并且您可以在 Amazon S3 上存储其他组件,例如根目录、存储文件 (HFiles)、表元数据和数据。

您可以使用 Amazon EMR WAL 来恢复未刷新到 Amazon S3 的数据。要完全备份您的HBase集群,请选择使用 Amazon EMR WAL 服务。在幕后,RegionServer将您的HBase预写日志 (WAL) 写入 WAL Amazon 的。EMR

如果您的集群或可用区运行状况不佳或不可用,您可以创建一个新集群,将其指向相同的 S3 根目录和 Amazon EMR WAL 工作空间,并在几分钟WAL内自动恢复数据。有关更多信息,请参阅 从亚马逊恢复 EMR WAL

从亚马逊 7.3.0 及更高EMR版本开始,亚马逊EMRWALs为每台服务器EMR创建多个服务器,并将多个HBase区域分组为一个亚马逊EMRWAL。这样做可以增强 Apache HBaseWAL,从而提高日志利用率并优化成本。要配置每个 Amazon EMR WAL 实例的数量 HBaseRegionServer,请使用参数hbase.wal.regiongrouping.numgroups。默认情况下,此参数设置为 2。

如果您运行的版本低于 Amazon EMR 7.3.0,我们建议您手动禁用旧HBase集群中的表,以确保亚马逊中的所有数据都EMRWAL刷新到 Amazon S3。然后,删除旧 Amazon EMRWAL,终止旧集群,并设置运行最新版本的新集群。如果遇到问题,无法禁用旧集群上的表,可以直接终止旧群集,在新集群上将 emr.wal.multiplex.migrate 设置为 true。如果设置为 true,HBase将在HBase区域初始化期间尝试重播来自旧 Amazon EMR WAL 实例的数据,并在重播WALs后删除旧的 Amazon 实例。此重放过程会产生额外的读取费用。迁移后,建议您配置集群,并将 emr.wal.multiplex.migrate 设置为 false。或者,您可以删除该参数以加快HBase区域初始化的速度。

注意

HBase刷新数据后,Amazon EMR WAL 会将其删除。如果HBase没有刷新数据,Amazon EMR WAL 会将数据最多保留 30 天。30 天后,亚马逊EMRWAL会自动删除数据。从您终止EMR集群之日起,Amazon 会将WAL实例EMR保留最多 30 天。但是,如果您在这 30 天内从同一 S3 根目录启动WAL已启用新功能的集群,Amazon 将EMR不会从您之前的集群中删除任何WAL实例。有关更多信息,请参阅 从亚马逊恢复 EMR WAL

以下各节介绍如何在HBase已启用集EMR群时设置和EMRWAL使用 Amazon。