我们正在使用 Map reduce 将数据写入 HBase。由于我们需要进行一些格式化,我们通过扩展 TableReducer 来实现我们自己的 reducer。此自定义减速器在生产和开发环境中的行为不同。收到以下错误
错误:org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException:失败 659 次操作:RegionTooBusyException:659 次,
从这里,我了解到冲洗没有正确完成。但是,在开发环境中也可以正常工作。
除了上述选项,我觉得配置 reducer 的数量也可能会影响发送到区域服务器的数据量。
我们正在使用 salt 来跨越区域服务器之间的行键。到目前为止,salt 为 20m,region server 的数量为 60。 salt 是否应该选择等于 region server 的数量以均匀地跨越记录?如果不是,如何在将数据加载到 Hbase 时确定减速器数量的最佳值。
此外,一般来说,客户端允许与 Hbase 交互的最大连接数是多少。在这里,我们使用 API 提供的 Map reducer,但一般来说,我们处理客户端到 Hbase 的连接,最大客户端连接数可以起到重要作用。在此先感谢您的帮助