提升HBase连续Put数据场景性能
操作场景
在大数据写入场景中,业务系统需要向HBase持续写入大批量数据。然而默认配置下HBase的WAL文件和HFile写入均会执行磁盘同步(fsync)操作,每次写入都会等待数据持久化到磁盘后才返回,导致连续Put场景下数据写入性能受限、吞吐量难以提升。通过将“hbase.wal.hsync”和“hbase.hfile.hsync”参数设置为“false”,关闭WAL和HFile的磁盘同步等待,将数据写入OS缓存后就返回,可大幅度提升连续Put场景的写入性能。
约束与限制
性能提升后,对于DataNode(默认是3个)同时故障时,存在小概率数据丢失的现象,对数据可靠性要求高的场景请慎重配置。
操作步骤
为提升连续Put场景的写入性能,可在FusionInsight Manager系统中,选择“集群 > 服务 > HBase > 配置”,单击“全部配置”。在搜索框中输入参数名称,并进行修改。
登录集群Manager具体操作,请参考访问MRS集群Manager。
| 参数 | 描述 | 配置值 |
|---|---|---|
| hbase.wal.hsync | 设置是否启用WAL文件耐久性以将WAL数据持久化到磁盘。如果将该参数设置为“true”,则性能将受到影响,因为每个WAL的编辑都会被Hadoop fsync同步到磁盘上。 | false |
| hbase.hfile.hsync | 设置是否启用HFile耐久性以将数据持久化到磁盘。如果将该参数设置为“true”,则性能将受到影响,因为每个HFile写入时都会被Hadoop fsync同步到磁盘上。 | false |