Alterar um Standalone autogerenciado para WiredTiger
Observação
Você deve atualizar para o WiredTiger. O MongoDB removeu o storage engine obsoleto MMAPv1 na versão 4.2.
Use este tutorial para alterar o mecanismo de armazenamento de uma instância MongoDBautônomo do para WiredTiger.
Considerações
mongodump
e a mongorestore
Este tutorial usa os utilitários mongodump
e mongorestore
para exportar e importar dados.
Vinculação padrão ao localhost
Binários do MongoDB, mongod
e mongos
, ligam-se ao localhost
por padrão.
O tutorial executa mongodump
e mongorestore
no mesmo host do mongod
ao qual estão se conectando. Se executado remotamente, mongodump
e mongorestore
devem especificar o endereço IP ou o nome de host associado para se conectar ao mongod
.
XFS e WiredTiger
Com o mecanismo de armazenamento WiredTiger, é recomendado usar XFS para nós que contêm dados no Linux. Para obter mais informações, consulte Kernel e sistemas de arquivos.
Restrições somente do MMAPv1
Após a atualização para o WiredTiger, seu sistema do WiredTiger não estará sujeita às seguintes restrições somente do MMAPv1:
Restrições do MMAPv1 | Descrição curta |
---|---|
Número de spacenames | Para MMAPv1, o número de spacenames é limitado ao tamanho do arquivo de spacenames dividido por 628. |
Tamanho do arquivo de namespace | Para MMAPv1, os arquivos namespace não podem ser maiores que 2047 megabytes. |
Tamanho do Banco de Dados | O mecanismo de armazenamento MMAPv1 limita cada banco de dados a no máximo 16000 arquivos de dados. |
tamanho de dados | Para MMAPv1, uma única instância do mongod não pode gerenciar um conjunto de dados que exceda o espaço de endereço de memória virtual máximo fornecido pelo sistema operacional subjacente. |
Número de Coleções em um Banco de Dados | Para o mecanismo de armazenamento MMAPv1, o número máximo de coleções em um banco de dados é uma função do tamanho do arquivo namespace e o número de índices de coleções no banco de dados. |
Procedimento
Inicie o mongod
você deseja mudar para WiredTiger.
Se o mongod
já estiver em execução, você poderá pular esta etapa.
Exportar dados usando mongodump
.
mongodump --out=<exportDataDestination>
Especifique opções adicionais conforme apropriado, como nome de usuário e senha, se a autorização estiver habilitada durante a execução. Consulte mongodump
para ver as opções disponíveis.
Crie um diretório de dados para o novo mongod
executando com WiredTiger.
Crie um diretório de dados para a nova instância do mongod
que será executada com o mecanismo de armazenamento WiredTiger. mongod
deve ter permissões de leitura e gravação para este diretório.
mongod
com WiredTiger não iniciará com arquivos de dados criados com um mecanismo de armazenamento diferente.
Atualize a configuração do WiredTiger.
Remova todas as opções de configuração do MMAPv1 da configuração da instância mongod
.
Iniciar mongod
com WiredTiger.
Inicie o mongod
, especificando wiredTiger
como --storageEngine
e o diretório de dados recém-criado para WiredTiger como --dbpath
.
Especifique opções adicionais conforme apropriado, como --bind_ip
.
Aviso
Antes de vincular sua instância a um endereço IP acessível publicamente, você deve proteger seu cluster contra o acesso não autorizado. Para obter uma lista completa de recomendações de segurança, consulte Lista de verificação de segurança para implantações autogerenciadas. No mínimo, considere habilitar a autenticação e fortalecer a infraestrutura de rede.
mongod --storageEngine wiredTiger --dbpath <newWiredTigerDBPath> --bind_ip localhost,<hostname(s)|ip address(es)>
Você também pode especificar as opções em um arquivo de configuração. Para especificar o mecanismo de armazenamento, utilize a configuração do storage.engine
.
Carregue os dados exportados usando mongorestore
.
mongorestore <exportDataDestination>
Especifique opções adicionais conforme apropriado. Consulte mongorestore
para ver as opções disponíveis.