Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ /

Iniciar um cluster fragmentado com um Config Shard

Nesta página

  • Sobre esta tarefa
  • Passos
  • Saiba mais

A partir do MongoDB 8.0, você pode configurar um servidor de configuração de configuração para armazenar os dados do aplicação , além dos metadados usuais do cluster fragmentado . Um nó mongod que fornece funcionalidade de servidor de servidor de configuração de shard é chamado de shard de configuração. Um nó do mongod que executa como um --configsvr autônomo sem funcionalidade de servidor de fragmento é chamado de servidor de configuração dedicado.

Considere usar um fragmento de configuração se o cluster tiver três ou menos fragmentos.

Para obter detalhes, consulte Casos de uso de shard de configuração.

Você pode executar esta tarefa em implementações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem

Observação

Esta tarefa não está disponível no Atlas Shared Tier ou no Atlas Serverless.

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

1

Para uma implantação de produção, implemente um conjunto de réplicas de servidor de configuração definido com pelo menos três membros.

Observação

O conjunto de réplicas do servidor de configuração não deve usar o mesmo nome que qualquer um dos conjuntos de réplicas de shard.

Para este tutorial, os membros do conjunto de réplicas do servidor de configuração estão associados com os seguintes hosts:

Nó do conjunto de réplicas do servidor de configuração
nome de anfitrião

Membro 0

cfg1.example.net

Membro 1

cfg2.example.net

Membro 2

cfg3.example.net

  1. Inicie cada membro do conjunto de réplicas do servidor de configuração.

    Ao iniciar cada mongod, especifique as configurações do mongod utilizando um arquivo de configuração ou a linha de comando.

    Se estiver usando um arquivo de configuração, defina:

    sharding:
    clusterRole: configsvr
    replication:
    replSetName: <replica set name>
    net:
    bindIp: localhost,<hostname(s)|ip address(es)>
    • sharding.clusterRole a configsvr .

    • replication.replSetName ao nome desejado do conjunto de réplicas do servidor de configuração de configuração.

    • net.bindIp opção para um dos seguintes:

      • O nome do host/endereço IP.

      • Uma lista delimitada por vírgulas de nomes de host ou endereços IP que os clientes remotos podem usar para se conectar à instância (incluindo os outros membros do conjunto de réplicas do servidor de configuração de configuração, bem como outros membros do cluster fragmentado).

      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.

    • Configurações adicionais conforme apropriado para seu sistema, como storage.dbPath e net.port. Para mais informações sobre o arquivo de configuração, consulte opções de configuração.

    Inicie o mongod com a opção --config definida para o caminho do arquivo de configuração.

    mongod --config <path-to-config-file>

    Se utilizar as opções da linha de comando, inicie o mongod com o --configsvr, --replSet, --bind_ip e outras opções conforme apropriado para seu sistema. Por exemplo:

    mongod --configsvr --replSet <replica set name> --dbpath <path> --bind_ip localhost,<hostname(s)|ip address(es)>

    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.

    Para obter mais informações sobre parâmetros de inicialização, consulte a página de referência do mongod.

  2. Conecte o mongosh a um dos membros do servidor de configuração .

    mongosh --host <hostname> --port <port>
  3. Inicie o conjunto de réplicas.

    A partir de mongosh, execute o método rs.initiate() .

    rs.initiate() pode levar um documento de configuração opcional do conjunto de réplicas. No documento de configuração do conjunto de réplicas, inclua:

    • O _id definido como o nome do conjunto de réplicas especificado na opção replication.replSetName ou --replSet.

    • O campo configsvr configurado como true para o conjunto de réplicas do servidor de configuração.

    • A array members com um documento por cada membro do conjunto de réplicas.

    Importante

    Execute rs.initiate() em apenas uma instância mongod para o conjunto de réplicas.

    rs.initiate(
    {
    _id: "myReplSet",
    configsvr: true,
    members: [
    { _id : 0, host : "cfg1.example.net:27019" },
    { _id : 1, host : "cfg2.example.net:27019" },
    { _id : 2, host : "cfg3.example.net:27019" }
    ]
    }
    )

    Consulte Configuração do conjunto de réplicas autogerenciadas para mais informações sobre documentos de configuração do conjunto de réplicas.

2

Inicie um mongos utilizando um arquivo de configuração ou um parâmetro da linha de comando para especificar os servidores de configuração.

Se estiver utilizando um arquivo de configuração, defina sharding.configDB como o nome do conjunto de réplicas do servidor de configuração e pelo menos um membro do conjunto de réplicas no formato <replSetName>/<host:port>.

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.

sharding:
configDB: <configReplSetName>/cfg1.example.net:27019,cfg2.example.net:27019
net:
bindIp: localhost,<hostname(s)|ip address(es)>

Inicie o mongos especificando a opção --config e o caminho para o arquivo de configuração.

mongos --config <path-to-config>

Para obter mais informações sobre o arquivo de configuração, consulte opções de configuração.

Se utilizar parâmetros da linha de comando, inicie o mongos e especifique o --configdb, --bind_ip e outras opções conforme apropriado para seu sistema. Por exemplo:

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.

mongos --configdb <configReplSetName>/cfg1.example.net:27019,cfg2.example.net:27019,cfg3.example.net:27019 --bind_ip localhost,<hostname(s)|ip address(es)>

Inclua quaisquer outras opções, conforme apropriado para seu sistema.

Neste ponto, seu cluster fragmentado consiste no mongos e nos servidores de configuração. Agora você pode se conectar ao cluster fragmentado usando mongosh.

3

Conecte mongosh ao mongos. Especifique host e port em que mongos está sendo executado:

mongosh --host <hostname> --port <port>
4

Este exemplo configura um servidor de configuração dedicado para ser executado como um shard de configuração:

db.adminCommand( {
transitionFromDedicatedConfigServer: 1
} )
5

Para confirmar que o cluster fragmentado agora usa o shard de configuração, execute o comandoserverStatuspara verificar se o statusconfigServerInShardCacheretorna true:

db.adminCommand( {
serverStatus: 1,
} ).shardingStatistics.configServerInShardCache
true

Voltar

Converter um conjunto de réplicas em um cluster fragmentado com um servidor de configuração incorporado