提高 HBase 群集的写入和读取性能

已完成

可以使用加速写入功能来改善 HDInsight HBase 的读取和写入性能。 现在我们来看看在启用和不启用加速写入的情况下,性能分别会受到怎样的影响。

不启用加速写入

Azure HDInsight 中的加速写入功能在群集部署过程中将高级 SSD 托管磁盘附加到每个 HBase 区域服务器(工作器节点)。 预写日志 (WAL) 将写入 Hadoop 分布式文件系统 (HDFS),该系统装载在高级 SSD-Managed 磁盘上,而不是 Azure 页 Blob 上。

SSD 上的高级托管磁盘提供了更出色的写入性能,并通过容错改善了群集 I/O 性能。

Accelerated Writes feature within HBase.

随着时间的推移,客户对低延迟写入和读取的需求也在不断变化。 HDInsight HBase 分离了计算和存储,虽然这样能为客户提供灵活性、可伸缩性、可靠性和规模效益,但同时也增加了写入和读取操作的网络延迟。 大多数客户都能适应这样的延迟,不过需要超低延迟写入和读取的客户就可以利用 HDInsight HBase 的加速写入功能。

启用加速写入

读性能

默认情况下,HDInsight HBase 预配的存储帐户类型为“存储(常规用途 v1)”。 若要提高读取性能,可以设置为“高级块 Blob 存储”而不是“存储(常规用途 V1)”。

在开始创建群集之前,请创建高级块 Blob 存储帐户。

Create a storage account.

在群集创建过程中,将高级块 Blob 指定为群集的主存储帐户,如下所示。 仅当选择了“启用加速写入”时,才会开始显示高级块。

Mapping the storage account in a HDInsight Cluster.

若要了解有关 HDInsight HBase 性能管理的最佳做法,请访问排查 HBase 性能问题页。

写性能

在标准 HDInsight HBase 产品中,HBase 预写日志 (WAL) 存储在 Azure 页 Blob 中。 虽然这样能满足大多数的业务要求,但对于始终要求维持低延迟和高 I/O 的任务关键型应用程序而言,页 Blob 支持的 WAL 日志中不稳定的延迟可能会成为 HBase 写入性能的瓶颈。

HBase Write Ahead Logs (WAL) stored in Azure Page Blobs.