Balanceador do MongoDB

1

Portanto, eu tenho 2 clusters sharded com 3 servidores cada.Meu mongos está em execução, meu servidor de configuração está em execução e ive também incluiu dados de teste em um dos dois clusters de fragmentos. Eu estou tendo problemas para obter esses dados para migrar para o outro cluster ... Enquanto olha para os logs im vendo [Balancer] não há cacos disponíveis para levar pedaços .... e ..... distrubted bloqueio 'balancer / Replica4 / 27017 : desbloqueado ..... o maxSize em ambos os clusters estão em 125 não tenho certeza o que mais eu deveria estar olhando para remediar o problema .. Alguma sugestão ???

Além disso, ao verificar as coleções, notei que ele criou o banco de dados, mas todas estão marcadas como (vazio) ... No shard 2, todos os dados existem ## shard 2 é o nó no qual os dados foram carregados.

    
por secure212 13.11.2013 / 22:17

1 resposta

0

A resposta básica aqui é: não use maxSize com um valor tão baixo, não é uma configuração de precisão. Ele se baseia no valor mem.mapped para determinar o tamanho e valor é simplesmente o tamanho de todos os arquivos de dados que tiveram mmap() ligou para eles. Na verdade, até que você tenha uma ideia melhor dos tamanhos mapeados, eu recomendaria desativá-lo completamente.

Para explicar: Os tamanhos dos arquivos de dados para bancos de dados começam em 64 MB, depois double para cada alocação subsequente por padrão até o máximo de 2GB. Combine isso com o fato de que o MongoDB alocará um arquivo de 128MB (para um total de 192MB) depois de inserir um único dado no arquivo de dados de 64MB (por padrão, o MongoDB mantém um arquivo de dados vazio pré-alocado para evitar atrasos escrever cargas de trabalho pesadas). Depois, há a probabilidade de você ter mais de um banco de dados (um oplog no banco de dados local, por exemplo) e ter certeza de que, com esse limite de 125 MB, todos os seus shards serão considerados "completos" quase imediatamente. >

Remova a opção maxSize, determine o uso real dos dados e, em seguida, adicione um buffer sensato (pelo menos o tamanho de um arquivo de dados vazio) se quiser usá-lo no futuro, mas esteja ciente de que pode acabar no mesmo cenário, se você usar mais espaço do que o esperado.

    
por 03.12.2013 / 01:47