Я сделал шардинг на одной коллекции с 2 шардами. Версия MongoDB: 2.6.4. Все выглядит нормально, но 100% данных находятся на одном осколке.
Когда я делаю:
use config
db.locks.find( { _id : "balancer" } ).pretty()
Я получил:
{
"_id" : "balancer",
"state" : 0,
"who" : "ip-10-0-11-128:27018:1424099612:1804289383:Balancer:846930886",
"ts" : ObjectId("553a1223e4d292075ec2a8a6"),
"process" : "ip-10-0-11-128:27018:1424099612:1804289383",
"when" : ISODate("2015-04-24T09:51:31.498Z"),
"why" : "doing balance round"
}
Таким образом, балансировщик застрял в состоянии 0. Я попытался перезапустить его, но он все еще находится в состоянии 0.
Также:
sh.isBalancerRunning()
> false
Но:
sh.getBalancerState()
> true
Ошибки в моем файле журнала:
2015-04-24T10:15:47.921+0000 [Balancer] scoped connection to 10.0.11.128:20000,10.0.11.159:20000,10.0.11.240:20000 not being returned to the pool
2015-04-24T10:15:47.921+0000 [Balancer] caught exception while doing balance: error checking clock skew of cluster 10.0.11.128:20000,10.0.11.159:20000,10.0.11.240:20000 :: caused by :: 13650 clock skew of the cluster 10.0.11.128:20000,10.0.11.159:20000,10.0.11.240:20000 is too far out of bounds to allow distributed locking.
Кто-нибудь знает, как это исправить? Спасибо, Иван