Iniciar um cluster fragmentado com um Config Shard
Nesta página
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.
Sobre esta tarefa
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.
Compatibilidade
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
Passos
Crie o Conjunto de Réplicas do Servidor de Configuração.
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 |
Inicie cada membro do conjunto de réplicas do servidor de configuração.
Ao iniciar cada
mongod
, especifique as configurações domongod
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
aconfigsvr
.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
enet.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
.Conecte o mongosh a um dos membros do servidor de configuração .
mongosh --host <hostname> --port <port> Inicie o conjunto de réplicas.
A partir de
mongosh
, execute o métodors.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çãoreplication.replSetName
ou--replSet
.O campo
configsvr
configurado comotrue
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ânciamongod
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.
Inicie um mongos para o cluster fragmentado.
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
.
Confirme se o cluster usa um shard de configuração
Para confirmar que o cluster fragmentado agora usa o shard de configuração, execute o comandoserverStatus
para verificar se o statusconfigServerInShardCache
retorna true
:
db.adminCommand( { serverStatus: 1, } ).shardingStatistics.configServerInShardCache
true