es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

MlFlow: No es posible ejecutar con S3 como default-artifact-root.

Estoy tratando de almacenar mis artefactos de modelo usando mlflow en s3. En los servicios de API, usamos MLFLOW_S3_ENDPOINT_URL como el depósito de s3. En el servicio de mlflow, lo pasamos como una variable de entorno. Sin embargo, el servicio contenedor de mlflow falla con la siguiente excepción:

mflow_server  | botocore.exceptions.HTTPClientError: Un cliente HTTP generó una excepción no gestionada: El esquema de URL s3 no es compatible.

Archivo docker-compose como sigue:

versión: "3.3"
servicios:
  prisim-api:
    imagen: prisim-api:latest
    nombre del contenedor: prisim-api
    expuesto:
      - "8000"
    entorno:
      - S3_URL=s3://mlflow-automation-artifacts/
      - MLFLOW_SERVER=http://mlflow:5000
      - AWS_ID=xyz+
      - AWS_KEY=xyz

    redes:
      - prisim 
    depends_on:
      - mlflow
    links:
      - mlflow
    volúmenes:
      - datos_app:/usr/data
  mlflow:
    imagen: mlflow_server:latest
    nombre del contenedor: mflow_server
    puertos:
      - "5000:5000"    
    entorno:
      - AWS_ACCESS_KEY_ID=xyz+
      - AWS_SECRET_ACCESS_KEY=xyz
      - MLFLOW_S3_ENDPOINT_URL=s3://mlflow-automation-artifacts/
    healthcheck:
      test: ["CMD", "echo", "el servidor de mlflow está en ejecución"]
      intervalo: 1m30s
      tiempo de espera: 10s
      reintentos: 3
    redes:
       - prisim 
redes:
  prisim:
volúmenes:
  datos_app:

¿Por qué el esquema s3 no es compatible?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El esquema s3 no es compatible porque no es un esquema de URL válido. El esquema correcto para acceder a archivos en Amazon S3 es “https” o “http”. Esto se puede resolver cambiando el valor de la variable de entorno MLFLOW_S3_ENDPOINT_URL a “https://mlflow-automation-artifacts.s3.amazonaws.com”. Además, las variables de entorno AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY deben establecerse con las credenciales válidas de AWS para acceder al bucket de S3.

Comments are closed.