Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Solución de problemas

Importante

MongoDB 8.3 es la última versión menor. A partir de MongoDB 8.2, las versiones menores están disponibles para implementaciones on-premises (Community y EA) 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.

Copia el comando exactamente como está documentado. La operación debe 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.3 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.3 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

Salida esperada:

--------------------
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.0.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.0.list
  2. Si el contenido no coincide con la documentación de la versión de Ubuntu, remueve el archivo y repite el paso Create a list file for MongoDB.

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

  4. Actualiza los repositorios y vuelve a intentar la instalación:

    sudo apt update
    sudo apt install -y mongodb-org

Ocurre durante el paso sudo apt install -y mongodb-org del procedimiento Instalar MongoDB Community Edition. A menudo es causado por un paquete conflictivo de Ubuntu mongodb ya instalado.

dpkg: error processing archive /var/cache/apt/archives/mongodb-org-server_8.3.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 remueve los archivos de configuración por defecto. Para conservar los archivos de configuración modificados, se deben copiar a otro directorio (por ejemplo, /home/your-user-name) antes de eliminarlos.

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

Identifica el proceso:

En el siguiente ejemplo se 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. Modifique net.port en 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