A partir de MongoDB 8.0, puede configurar un servidor de configuración para almacenar los datos de su aplicación además de los metadatos habituales del clúster fragmentado.
mongodEl nodo que proporciona tanto la funcionalidad de servidor de configuración como la de servidor de fragmentos se denomina fragmento de configuración. Un mongod nodo que se ejecuta como un nodo independiente --configsvr sin la funcionalidad de servidor de fragmentos se denomina servidor de configuración dedicado.
Acerca de esta tarea
Puede considerar usar un fragmento de configuración si su clúster tiene tres fragmentos o menos.
Para obtener detalles, consulta Casos de uso de Config partición.
Compatibilidad
Puede realizar esta tarea en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Nota
Esta tarea no está disponible en los niveles gratuito o flexible de MongoDB Atlas.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Pasos
Cree el conjunto de réplicas del servidor de configuración.
Para una implementación de producción, implemente un conjunto de réplicas de servidor de configuración con al menos tres miembros.
Nota
El conjunto de réplicas del servidor de configuración no debe usar el mismo nombre que ninguno de los conjuntos de réplicas de fragmentos.
Para este tutorial, los miembros del conjunto de réplicas del servidor de configuración están asociados con los siguientes hosts:
Miembro del conjunto de réplicas del servidor de configuración | Nombre del host |
|---|---|
Miembro 0 |
|
Miembro 1 |
|
Miembro 2 |
|
Inicie cada miembro del conjunto de réplicas del servidor de configuración.
Al iniciar cada
mongod, especifica lamongodconfiguración usando un archivo de configuración o la línea de comandos.Si utiliza un archivo de configuración, configure:
sharding: clusterRole: configsvr replication: replSetName: <replica set name> net: bindIp: localhost,<hostname(s)|ip address(es)> sharding.clusterRolea.configsvrreplication.replSetNameal nombre deseado del conjunto de réplicas del servidor de configuración.net.bindIpopción a una de:El nombre de host/dirección IP.
Una lista delimitada por comas de nombres de host o direcciones IP que los clientes remotos pueden usar para conectarse a la instancia (incluidos los otros miembros del conjunto de réplicas del servidor de configuración, así como otros miembros del clúster fragmentado).
Advertencia
Antes de vincular la instancia a una dirección IP de acceso público, se debe asegurar el clúster contra accesos no autorizados. Para obtener una lista completa de recomendaciones de seguridad, se debe consultar Checklist de seguridad para implementaciones autogestionadas. Como mínimo, se debe considerar habilitar la autenticación y reforzar la infraestructura de red.
Ajustes adicionales según corresponda a su implementación, como y. Para obtener más información sobre el archivo de configuración, consulte las
storage.dbPathnet.portopcionesde configuración.
Inicie
mongodcon la opción--configestablecida en la ruta del archivo de configuración.mongod --config <path-to-config-file> Si usa las opciones de la línea de comandos, inicie
mongodcon--configsvr,--replSet,--bind_ipy otras opciones según corresponda a su implementación. Por ejemplo:mongod --configsvr --replSet <replica set name> --dbpath <path> --bind_ip localhost,<hostname(s)|ip address(es)> Advertencia
Antes de vincular la instancia a una dirección IP de acceso público, se debe asegurar el clúster contra accesos no autorizados. Para obtener una lista completa de recomendaciones de seguridad, se debe consultar Checklist de seguridad para implementaciones autogestionadas. Como mínimo, se debe considerar habilitar la autenticación y reforzar la infraestructura de red.
Para obtener más información sobre los parámetros de inicio, consulte la página de
mongodreferencia.Conecte mongosh a uno de los miembros del servidor de configuración.
mongosh --host <hostname> --port <port> Inicia el set de réplicas.
Desde,
mongoshejecute elrs.initiate()método.rs.initiate()Puede usar un documento de configuración de conjunto de réplicas opcional. En el documento de configuración de conjunto de réplicas, incluya:El conjunto
_idal nombre del conjunto de réplicas especificado en la opciónreplication.replSetNameo--replSet.El campo establecido
configsvrentruepara el conjunto de réplicas del servidor de configuración.El
membersarreglo con un documento por cada nodo del set de réplicas.
Importante
Se debe ejecutar
rs.initiate()en una sola instanciamongodpara el set 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 Configuración del conjunto de réplicas autoadministradas para obtener más información sobre los documentos de configuración del conjunto de réplicas.
Inicia un mongos para el clúster fragmentado.
Inicie un utilizando un archivo de configuración o un parámetro de línea de comando para especificar los servidores de mongos configuración.
Si utiliza un archivo de configuración, establezca sharding.configDB en el nombre del conjunto de réplicas del servidor de configuración y al menos un miembro del conjunto de réplicas en <replSetName>/<host:port> formato.
Advertencia
Antes de vincular la instancia a una dirección IP de acceso público, se debe asegurar el clúster contra accesos no autorizados. Para obtener una lista completa de recomendaciones de seguridad, se debe consultar Checklist de seguridad para implementaciones autogestionadas. Como mínimo, se debe considerar habilitar la autenticación y reforzar la infraestructura de red.
sharding: configDB: <configReplSetName>/cfg1.example.net:27019,cfg2.example.net:27019 net: bindIp: localhost,<hostname(s)|ip address(es)>
Inicie mongos especificando --config la opción y la ruta al archivo de configuración.
mongos --config <path-to-config>
Para obtener más información sobre el archivo de configuración, consultar opciones del archivo de configuración.
Si utiliza parámetros de línea de comandos, inicie mongos --configdby--bind_ip especifique, y otras opciones según corresponda a su implementación. Por ejemplo:
Advertencia
Antes de vincular la instancia a una dirección IP de acceso público, se debe asegurar el clúster contra accesos no autorizados. Para obtener una lista completa de recomendaciones de seguridad, se debe consultar Checklist de seguridad para implementaciones autogestionadas. Como mínimo, se debe considerar habilitar la autenticación y reforzar la infraestructura de red.
mongos --configdb <configReplSetName>/cfg1.example.net:27019,cfg2.example.net:27019,cfg3.example.net:27019 --bind_ip localhost,<hostname(s)|ip address(es)>
Incluya cualquier otra opción según sea apropiado para su implementación.
En este punto, su clúster fragmentado consta de los servidores mongos y de configuración. Ahora puede conectarse al clúster fragmentado mediante mongosh.
Confirmar que el clúster utiliza un fragmento de configuración
Para confirmar que el clúster fragmentado ahora usa el fragmento de configuración, ejecute el comandoserverStatuspara verificar que el estadoconfigServerInShardCachedevuelva true:
db.adminCommand( { serverStatus: 1, } ).shardingStatistics.configServerInShardCache
true