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
/ /

Solución de problemas

Importante

MongoDB 8.2 es la última versión menor. A partir de MongoDB 8.2, las versiones menores están disponibles para implementaciones on-premises (MongoDB Community y Enterprise) para casos de uso específicos. Para obtener más información, consulta Versionado de MongoDB.

Para instalar la última versión de MongoDB compatible para uso on-premises, consulta las instrucciones de instalación.

Ocurre durante el Import the public key used by the package management system paso de Instalar MongoDB Community Edition.

gpg: no valid OpenPGP data found.

Copie el comando exactamente como se documenta. La operación debería responder con OK.

Verifica que la clave pública GPG de MongoDB exista en tu sistema:

sudo apt-key list

La salida esperada se asemeja a la siguiente:

/etc/apt/trusted.gpg
--------------------
pub rsa4096 2018-04-18 [SC] [expires: 2023-04-17]
E162 F504 A20C DF15 827F 718D 4B7C 549A 058F 8B6B
uid [ unknown] MongoDB 8.0 Release Signing Key <packaging@mongodb.com>

Esto ocurre después de ejecutar sudo apt update como parte del procedimiento Instalar MongoDB Community Edition. A menudo es causado por la falta de una clave GPG pública de MongoDB.

W: GPG error: https://repo.mongodb.org/apt/ubuntu <release>/mongodb-org/8.2 Release: \
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4B7C549A058F8B6B
E: The repository 'https://repo.mongodb.org/apt/ubuntu <release>/mongodb-org/8.2 Release' \
is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Repetí el paso Import the public key used by the package management system en Instalar MongoDB Community Edition. Copia el comando y la clave exactamente como se documenta.

Verificar la clave:

sudo apt-key list

Resultado esperado:

--------------------
pub rsa4096 2018-04-18 [SC] [expires: 2023-04-17]
E162 F504 A20C DF15 827F 718D 4B7C 549A 058F 8B6B
uid [ unknown] MongoDB 8.0 Release Signing Key <packaging@mongodb.com>

Ocurre después de ejecutar sudo apt install -y mongodb-org en el paso Create a list file for MongoDB del procedimiento Instalar MongoDB Community Edition. A menudo causado por un archivo /etc/apt/sources.list.d/mongodb-org-8.2.list que falta o está mal configurado.

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package mongodb-org
  1. Revisa el contenido del archivo:

    cat /etc/apt/sources.list.d/mongodb-org-8.2.list
  2. Si el contenido no coincide con la documentación de su versión de Ubuntu, elimine el archivo y repita el paso Create a list file for MongoDB.

  3. Si el archivo no existe, créalo durante ese paso.

  4. Actualizar los repositorios y volver a intentar la instalación:

    sudo apt update
    sudo apt install -y mongodb-org

Ocurre durante sudo apt install -y mongodb-org el paso del procedimiento de instalación de MongoDB Community Edition. Suele deberse a un mongodb paquete de Ubuntu conflictivo ya instalado.

dpkg: error processing archive /var/cache/apt/archives/mongodb-org-server_8.2.0_amd64.deb (--unpack):
trying to overwrite '/usr/bin/mongod', which is also in package mongodb-server-core 1:3.6.3-0ubuntu1

Verifica si existe conflicto:

sudo apt list --installed | grep mongo
mongodb/bionic,now 1:3.6.3-0ubuntu1 amd64 [installed]
mongodb-clients/bionic,now 1:3.6.3-0ubuntu1 amd64 [installed,automatic]
mongodb-server/bionic,bionic,now 1:3.6.3-0ubuntu1 all [installed,automatic]
mongodb-server-core/bionic,now 1:3.6.3-0ubuntu1 amd64 [installed,automatic]

Si la salida muestra paquetes de Ubuntu como este, remuévelos:

sudo apt remove mongodb
sudo apt purge mongodb
sudo apt autoremove

Nota

sudo apt purge mongodb Elimina los archivos de configuración predeterminados. Para conservar los archivos de configuración modificados, cópielos a otro directorio (p. ej., /home/your-user-name) antes de purgarlos.

Para paquetes mixtos:

Si la salida muestra tanto los paquetes mongodb-org como mongodb, remueve primero mongodb-org y luego remueve los paquetes mongodb. Después de eliminar todos los paquetes relacionados con MongoDB, vuelve a intentar instalar MongoDB Community Edition.

Ocurre al iniciar un mongod. A menudo, se debe a que otro proceso (generalmente otro mongod) está utilizando el puerto configurado.

Socket is already in use
Failed to unlink socket file

Identificar el proceso:

El siguiente ejemplo utiliza ss para enumerar todos los sockets TCP (-t) y UDP (-u) abiertos en el estado LISTEN (-l) y el proceso que utiliza cada socket (-p) sin resolver ningún nombre de servicio o nombre de host (-n):

sudo ss -tulpn

Salida de ejemplo que muestra mongod en el puerto 27017:

Netid State Local Address:Port
udp UNCONN 127.0.0.53%lo:53 users:(("systemd-resolve",pid=663,fd=12))
udp UNCONN 10.1.16.87%enp0s3:68 users:(("systemd-network",pid=652,fd=15))
tcp LISTEN 127.0.0.53%lo:53 users:(("systemd-resolve",pid=663,fd=13))
tcp LISTEN 0.0.0.0:22 users:(("sshd",pid=819,fd=3))
tcp LISTEN 192.168.1.15:27017 users:(("mongod",pid=10027,fd=12))
tcp LISTEN 127.0.0.1:27017 users:(("mongod",pid=10027,fd=11))
tcp LISTEN ::]:22 users:(("sshd",pid=819,fd=4))

Puedes:

  • Apaga el proceso existente

  • Seleccione un puerto nuevo para el proceso conflictivo mongod:
    1. Modificar en net.port el archivo de configuración

    2. Utilice --port en la línea de comandos

Ocurre en el mongod registro de proceso. A menudo provocado por un directorio de datos que no existe o no es accesible para el mongod.

Data directory ... not found
Attempted to create lock file on a read-only directory: ...

Al iniciar como servicio (sudo systemctl start mongod o sudo service mongod start), esto puede significar:

  • dbPath en /etc/mongod.conf se refiere a un directorio sin permisos rwx para el usuario o grupo mongodb

  • dbPath apunta a un directorio inexistente

Al iniciar desde el terminal, esto puede significar:

  • dbPath o --dbpath apunta a un directorio sin permisos rwx para el usuario o su grupo

  • El directorio no existe

Dependiendo de la causa, cree el directorio de datos o establezca los permisos y la propiedad adecuados.

  • Crea el directorio:

    Especifique el directorio de datos con storage.dbPath en el archivo de configuración o --dbpath en la línea de comandos.

  • Establece rutas por defecto:

    Asegúrese de que el directorio de datos exista o cree el directorio utilizando mkdir antes de iniciar mongod.

  • Establecer permisos de directorio:

    Establece los permisos y la propiedad adecuados:

    • El mongod necesita permisos de rwx (lectura, escritura, ejecución)

    • Utiliza chown y chmod para configurar la propiedad y los permisos de user:group antes de iniciar la mongod

Volver

Community Edition

En esta página