我们正在使用Map reduce将数据写入HBase。由于我们要完成一些格式化,因此我们通过扩展TableReducer来实现自己的reducer。此自定义减速器在生产和开发环境中的表现不同。获得以下错误
错误:org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException:659次操作失败:RegionTooBusyException:659次,
从here,我明白冲洗不正确。但是,这在开发环境中运行良好。
除了上面的选项,我觉得配置Reducer的数量也可能会影响,发送到区域服务器的数据量。
我们使用salt来跨越区域服务器中的行键。截至目前,盐是20米,区域服务器的数量是60.如果盐的选择等于区域服务器的数量,以均匀地跨越记录?如果没有,在将数据加载到Hbase时如何识别减速器数量的最佳值。
此外,通常,客户端允许与Hbase交互的最大连接数是多少。在这里,我们使用的是API提供的Map reducer,但总的来说,我们处理客户端与Hbase的连接,最大的客户端连接数可以发挥重要作用。在此先感谢您的帮助
答案 0 :(得分:0)
Hbase-mapreduce API本身将决定减速器的数量等于区域服务器数量。 This,代码库确认了它。所以,问题是,我们写地图减少,我们给减速器的数量一个值,它与默认值不同。所以,看起来,shoyuld的默认值效果很好,除非我们有特定的要求。