Estoy intentando hacer una copia de seguridad de una base de datos de un clúster de kubernetes en mi computadora como un archivo bson. Conecté mi brújula mongodb al clúster de kubernetes mediante el reenvío de puertos. ¿Alguien puede ayudarme con el comando que necesito para descargar una colección particular (450 gb) de un banco de datos a mi escritorio?
Lo he estado intentando durante un tiempo, pero parece que no puedo encontrar la forma de evitarlo.
Desafortunadamente, en mongocompass no hay forma de descargar una colección como un archivo bson. El puerto al que reenvié el pod de kubernetes es 27017.
De los documentos oficiales de mongodb:
Ejecute
mongodumpdesde la línea de comandos del sistema, no desde el shell demongo.
Entonces, suponiendo que configuró el reenvío de puertos de Kubernetes en su máquina local de esta manera:
$ kubectl port-forward service/mongo 28015:27017Y tienes una salida similar a esta:
Forwarding from 127.0.0.1:28015 -> 27017 Forwarding from [::1]:28015 -> 27017Ahora puede exportar datos desde mongodb usando el siguiente comando:
$ mongodump --username root --port=28015 -p secretpassword Esto creará un directorio de dump en el directorio de trabajo actual y exportará datos allí.
Además, para exportar solo una colección específica, use la siguiente opción:
--collection=<collection>, -c=<collection>Especifica una colección para respaldar. Si no especifica una colección, esta opción copia todas las colecciones en la base de datos o instancia especificada en los archivos de volcado.
Puede consultar otras opciones disponibles aquí .