我们正在使用map reduce将数据写入hbase。因为我们有一些格式化要做,我们通过扩展tablereducer实现了我们自己的reducer。这个定制的reducer在生产和开发环境中的行为是不同的。获取以下错误
错误:org.apache.hadoop.hbase.client.retriesHaustedWithDetailsException:失败659次操作:RegionToBusyException:659次,
从这里,我了解到冲洗不正确。但是,在dev环境中同样可以正常工作。
除了上面的选项之外,我觉得配置reducer的数量也会影响到向区域服务器发送的数据量。
我们正在使用salt跨区域服务器之间的行键。到目前为止,salt是20m,区域服务器是60个。选择的salt是否应等于平均跨记录的区域服务器数?如果不是,那么在将数据加载到hbase时,如何确定减速器数量的最佳值。
另外,一般来说,客户端允许与hbase交互的最大连接数是多少。在这里,我们使用的是api提供的map reducer,但是一般来说,我们处理客户端到hbase的连接时,最大的客户端连接数可以起到重要的作用。提前谢谢你的帮助
1条答案
按热度按时间0mkxixxg1#
hbase mapreduce api本身将决定reducer的数量等于区域服务器计数。代码库证实了这一点。所以,问题是,我们写了我们的map reduce,我们给了reducer的个数一个值,这个值和默认值不同。所以,看起来,这里的默认值应该很好用,除非我们有特定的要求。