Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Iniciar un clúster fragmentado con un fragmento de configuración

A partir de MongoDB 8.0, puedes configurar un servidor de configuración para almacenar los datos de tu aplicación además de los metadatos habituales del clúster. A mongod nodo que proporciona tanto la funcionalidad de servidor de configuración como de servidor de partición, se denomina partición de configuración. Un mongod nodo que se ejecuta como un --configsvr autónomo sin funcionalidad de servidor de partición se denomina un servidor de configuracióndedicado.

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.

Puedes realizar esta tarea en las 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 gratuitos o flexibles 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.

1

Para una implementación en producción, implementa un set de réplicas de servidores de configuración con al menos tres nodos.

Nota

El set de réplicas del servidor de configuración no debe usar el mismo nombre que ninguno de los set de réplicas de las particiones.

Para este tutorial, los miembros del conjunto de réplicas del servidor de configuración están asociados con los siguientes hosts:

Miembro del servidor de configuración set de réplicas
Nombre del host

Miembro 0

cfg1.example.net

Miembro 1

cfg2.example.net

Miembro 2

cfg3.example.net

  1. Inicie cada nodo del set de réplicas del servidor de configuración.

    Al iniciar cada mongod, especifica la mongod configuració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.clusterRole a.configsvr

    • replication.replSetName al nombre deseado del set de réplicas del servidor de configuración.

    • net.bindIp opción a uno de:

      • El nombre de host/dirección IP.

      • Una lista separada por comas de nombres de hosts o direcciones IP que los clientes remotos pueden usar para conectarse a la instancia (incluidos los otros miembros del set de réplicas del servidor de configuración y otros miembros del clúster).

      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.

    • Configuraciones adicionales según corresponda a su implementación, tales como storage.dbPath y net.port. Para obtener más información sobre el archivo de configuración, consulte opciones de configuración.

    Inicie el mongod con la opción --config configurada 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 mongod con --configsvr, --replSet, --bind_ip y 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 referencia mongod.

  2. Conecte mongosh a uno de los nodos del servidor de configuración.

    mongosh --host <hostname> --port <port>
  3. Inicia el set de réplicas.

    Desde mongosh, ejecuta el método rs.initiate().

    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 configsvr campo está establecido en true para el set de réplicas del servidor de configuración.

    • El members arreglo con un documento por cada nodo del set de réplicas.

    Importante

    Se debe ejecutar rs.initiate() en una sola instancia mongod para 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" }
    ]
    }
    )

    Consulta Configuración de set de réplicas autogestionada para obtener más información sobre los documentos de configuración del set de réplicas.

2

Inicia un mongos usando un archivo de configuración o un parámetro de línea de comando para especificar los servidores de configuración.

Si usas un archivo de configuración, debes asignar el sharding.configDB al nombre del conjunto de réplicas del servidor de configuración y asegurar que al menos un nodo del conjunto de réplicas esté en el formato <replSetName>/<host:port>.

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 el mongos especificando la opción --config 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)>

Incluye cualquier otra opción que sea apropiada para tu implementación.

En este punto, tu clúster particionado consiste en el mongos y los servidores de configuración. Ahora puede conectarse al clúster particionado utilizando mongosh.

3

Conecte mongosh a mongos. Especifique host y port donde se ejecuta mongos:

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

Este ejemplo configura un servidor de configuración dedicado para ejecutarse como una partición de configuración:

db.adminCommand( {
transitionFromDedicatedConfigServer: 1
} )
5

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

Volver

Convertir un set de réplicas en un clúster con un servidor de configuración integrado

En esta página