Search code examples
pythonminiomlflow

Connect MLflow server to minio in local


I am trying to connect mlflow with Minio server, both are running on my local machine, I am able to connect my client code to minio by adding the below lines to the code,

os.environ['MLFLOW_S3_ENDPOINT_URL'] = 'http://localhost:9000'
os.environ['AWS_ACCESS_KEY_ID'] ="xxxx"
os.environ['AWS_SECRET_ACCESS_KEY'] ="xxxxxx" 
os.environ['MLFLOW_TRACKING_URI'] = 'http://localhost:5000'

But the mlflow server is not getting connected to Minio. To run Mlflow server, command I use:

mlflow server -h 0.0.0.0 -p 5000 --default-artifact-root s3://mlbucket --backend-store-uri sqlite:///mlflow.db

The mlflow server runs, but while accessing the artifacts page the server, it throws the error:

raise NoCredentialsError()
botocore.exceptions.NoCredentialsError: Unable to locate credentials

So how can I pass the credentials of the Minio to the mlflow server command?


Solution

  • Just add the below environment variables:

    export AWS_ACCESS_KEY_ID=<your-aws-access-key-id>
    export AWS_SECRET_ACCESS_KEY = <your-aws-secret-access-key>