我正在将存档的传感器数据批量导入到一个6节点的opentsdb(2.4.0)/hbase(2.1.4)集群中,我无法理解为什么我的所有写入操作都将进入一个区域服务器。
我已经创建了40个指标,比如 my_sensor.01
, my_sensor.02
, ... my_sensor.40
与 tsd.core.uid.random_metrics = true
在配置文件中; tsdb uid grep ...
验证我的度量是否有随机化的uid。
我还可以看到使用 tsdb scan ...
我导入的记录得到了非常不同的行ID,如:
[41, 69 -37, 94, -3, 105, -48, 0, 0, 7, 0, -103, 84] my_sensor.01 1593666000 (Wed Jul 01 23:00:00 MDT 2020) {machine=139678208}
[101, -7, -109, 94, -3, 105, -48, 0, 0, 7, 0, -102, -87] my_sensor.02 1593666000 (Wed Jul 01 23:00:00 MDT 2020) {machine=144908352}
[85, 48, 7, 94, -3, 105, -48, 0, 0, 7, 0, -103, 78] my_sensor.03 1593666000 (Wed Jul 01 23:00:00 MDT 2020) {machine=143205834}
那么,为什么这还不足以导致我的写操作分布在不同的区域服务器上呢?
1条答案
按热度按时间ipakzgxi1#
我想出来了。有大量预先存在的数据,行ID为[0,0,…]所以新记录总是在后面,并被写入最后一个表区域。