Mam klastra produkcyjne MongoDb z wersją 2.6.5, którą niedawno zmigrowałem z dwóch do trzech odłamków. Biegałem jak dwa odłamki przez około rok. Każdy fragment to 3-serwerowy zestaw replik i mam jedną kolekcję zerwaną.
Sharded kolekcja ma około 240G, a przy nowym odłamie mam teraz równomiernie rozłożone kawałki 2922 na każdym odłamku. Wydaje się, że moje środowisko produkcyjne działa dobrze. Nie ma problemu z dostępem do danych.moveChunk nie udało się zaimportować odłamu TO w transferze danych: nie może przyjąć nowych porcji, ponieważ
[Uwaga:. 1461 powinna być liczba fragmentów przeniesione z rs0 i shard1 do 2922 na shard2]
Moim zamiarem było shard trzy kolejne zbiory, więc zacząłem z jednym i spodziewałem się, że rozłożone odłamki. Ale nie - skończyło się z tego powtarzającego się błędu:
2014-10-29T20: 26: 35,374 + 0000 wynik [Balancer] moveChunk: {przyczyna: {ok: 0,0, Komunikat o błędzie: „nie może przyjmować nowych fragmentów od ponieważ wciąż jest 1461 usunięć z poprzedniej migracji "},
ok: 0.0, errmsg:" moveChunk nie udało się zaimportować do pliku docelowego w transferze danych: nie może zaakceptować nowych porcji, ponieważ nadal istnieje 1461 usunięć z poprzedniej migracji "}
2014-10-29T20: 26: 35,375 + 0000 [Balancer] ruch balancera nie powiódł się: {przyczyna: {ok: 0.0, errmsg:" nie można zaakceptować nowych porcji, ponieważ nadal jest 1461 usunięć z poprzednich migracja "},
porządku: 0,0, Komunikat o błędzie „moveChunk nie sprzęgają się w celu, fragmencie w przekazywaniu danych nie może przyjąć nowe fragmenty, ponieważ nadal istnieją 1461 usuwa z poprzedniej migracji”} z: rs0 do: shard1 fragment: min: {account_id: MinKey} max: {account_id: -9218254227106808901}
Z niewielkimi badaniami doszedłem do wniosku, że powinienem poświęcić mu trochę czasu, ponieważ oczywiste jest, że trzeba oczyścić rzeczy po przeprowadzce. Uruchomiłem sh.disableBalancing ("nazwa-kolekcji"), aby powstrzymać błędy przed próbą odszyfrowania nowej kolekcji. sh.getBalancerState pokazuje true, podobnie jak sh.isBalancerRunning. Jednak dałem to 24 godziny i komunikat o błędzie jest taki sam. Sądzę, że wyczyścił/usunął co najmniej 1 z 1461, które musi usunąć.
- Czy to powszechne zachowanie w świecie 2.6? Czy za każdym razem, gdy będę uprawiał środowisko przy pomocy innego odłamka, będę musiał zmylić wszystkie moje zniszczone kolekcje?
- Każdy pomysł, jak wykonać to porządki? czy powinienem po prostu odłożyć podstawowy odłam1, co wydaje się być problemem?
- Jeśli zrezygnuję z podstawowej wersji, czy nadal będę miał pliki do "usunięcia/oczyszczenia" z drugiej strony? A może to zajmie się sprawami, abym mógł zacząć odsłaniać nowe kolekcje?
Z góry dziękuję za wszelkie spostrzeżenia.
To nie jest pospolite, zapewnij. Muszę zagłębić się w źródła, aby dowiedzieć się, co się dzieje ... –
Jedna z sugestii to ponowne uruchomienie całego klastra. Zobacz [SERVER-14047] (https://jira.mongodb.org/browse/SERVER-14047). –