如何连接需要身份认证的MLFlow远程跟踪服务器?
MLflow 401授权报错连接解决方案
你遇到的401报错是因为远程MLflow跟踪服务开启了身份校验,请求未携带合法认证信息被拦截,可通过以下几种方式完成认证连接:
方式一:环境变量注入认证信息(生产环境首选,无需修改业务代码)
先向服务管理员获取你的账号凭证,运行代码前在终端执行对应命令配置环境变量:
Linux/macOS 终端:export MLFLOW_TRACKING_USERNAME=替换为你的用户名 export MLFLOW_TRACKING_PASSWORD=替换为你的密码Windows 命令提示符:
set MLFLOW_TRACKING_USERNAME=替换为你的用户名 set MLFLOW_TRACKING_PASSWORD=替换为你的密码Windows PowerShell:
$env:MLFLOW_TRACKING_USERNAME = "替换为你的用户名" $env:MLFLOW_TRACKING_PASSWORD = "替换为你的密码"若服务端使用的是Bearer Token认证,只需配置对应的Token环境变量即可:
export MLFLOW_TRACKING_TOKEN=替换为你的合法Token配置完成后直接运行你原有代码即可正常连接。
方式二:跟踪URI内嵌认证信息(仅适合临时调试)
直接将账号凭证拼接在跟踪URI中,修改后的代码如下:import mlflow mlflow.set_tracking_uri("http://替换为你的用户名:替换为你的密码@123.456.78.90") mlflow.set_experiment("my-experiment")注意:该方式会将明文账号密码写在代码中,存在凭证泄露风险,禁止在生产环境使用。
方式三:MLflow CLI交互式登录
本地安装MLflow命令行工具后,可直接在终端执行登录命令完成认证:mlflow login --uri http://123.456.78.90执行后按提示输入用户名和密码,认证信息会自动缓存到本地,后续运行代码无需额外配置。
内容的提问来源于stack exchange,提问作者Ksenia Belozerova
相关产品推荐
相关产品推荐

