You need to enable JavaScript to run this app. Linux多用户环境下跨目录向MLflow Server记录数据的方案咨询
优惠活动
大模型
产品
解决方案
定价
更多

Linux多用户环境下跨目录向MLflow Server记录数据的方案咨询

普通用户家目录部署的MLflow Tracking Server是否支持其他用户上报数据

默认场景下无法正常使用,核心限制来自两方面:

  • 权限限制:Linux普通用户家目录默认权限为700,仅用户本人有读写执行权限,其他用户无任何访问权限。即使手动修改家目录权限为755,存储实验数据、模型产物的MLflow子目录依然会存在权限冲突,大概率出现其他用户无法写入产物、读取历史实验的报错。
  • 服务绑定限制:如果启动MLflow服务时仅绑定127.0.0.1环回地址,本地其他用户虽然能访问服务接口,但依然会被上文的存储权限卡住,无法正常完成全链路的数据上报。
支持多用户的通用MLflow Tracking Server搭建方案

按照以下步骤部署即可支持同一设备所有用户上报实验数据:

    1. 新建公共存储目录,不要使用任何个人用户的家目录作为存储路径,示例操作:
    # 新建公共存储根目录
    mkdir -p /data/mlflow
    # 新增统一的mlflow用户组,将所有需要使用服务的用户加入该组
    groupadd mlflow
    usermod -aG mlflow 用户名1
    usermod -aG mlflow 用户名2
    # 配置目录权限,2775权限可让组内用户都有读写权限,且新生成的文件自动继承目录用户组
    chgrp -R mlflow /data/mlflow
    chmod -R 2775 /data/mlflow
    
    1. 选择公共后端存储,优先使用MySQL/PostgreSQL这类服务型数据库,测试场景也可以用存在公共目录的SQLite文件,避免个人用户目录的权限问题。
    1. 使用公共目录作为默认artifact存储路径,启动MLflow服务时绑定0.0.0.0地址,保证所有本地用户都能访问服务接口,启动命令示例:
    mlflow server \
      --backend-store-uri sqlite:////data/mlflow/mlflow.db \
      --default-artifact-root /data/mlflow/artifacts \
      --host 0.0.0.0 \
      --port 5000
    
    1. 生产环境建议将上述启动命令配置为systemd系统服务,使用专门的mlflow服务账号运行,开机自动启动,避免个人用户注销、权限变动影响服务可用性。
    1. 所有用户使用时只需在脚本中配置tracking uri即可正常上报数据,示例代码:
    import os
    import mlflow
    os.environ["MLFLOW_TRACKING_URI"] = "http://127.0.0.1:5000"
    # 后续正常调用mlflow接口记录实验即可
    

内容的提问来源于stack exchange,提问作者tkarahan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 17:06:07