Skip to main content

Linux 和 macOS

在Linux或macOS上使用预构建的Docker镜像部署ClearML服务器。

对于ClearML的Docker镜像,包括以前的版本,请参见https://hub.docker.com/r/allegroai/clearml。 然而,直接拉取ClearML的Docker镜像并不是必须的。ClearML提供了一个docker-compose YAML文件来完成这个操作。 本页的说明中包含了这个docker-compose文件。

有关在Linux或macOS上升级ClearML Server的信息,请参见此处

important

如果正在重新安装ClearML Server,建议清除ClearML Server的浏览器cookie。例如,对于Firefox,请转到开发者工具 > 存储 > Cookies,对于Chrome,请转到开发者工具 > 应用程序 > Cookies,并删除ClearML Server URL下的所有cookie。

先决条件

仅适用于Linux用户:

  • Linux 发行版必须支持 Docker。有关更多信息,请参阅 Docker 文档
  • 以具有sudo权限的用户身份登录。
  • 在本安装过程中,所有命令行指令均使用bash
  • 端口 808080818008 必须对 ClearML 服务器服务可用。

部署

warning

默认情况下,ClearML Server 启动时具有无限制访问权限。要限制 ClearML Server 的访问权限,请按照安全页面中的说明操作。

Memory Requirement

部署服务器至少需要8 GB内存,建议使用16 GB。

在Linux或macOS上启动ClearML服务器:

  1. 安装Docker。说明取决于操作系统:

  2. 验证Docker CE安装。执行命令:

    docker run hello-world

    预期输出是:

    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    To generate this message, Docker took the following steps:

    1. The Docker client contacted the Docker daemon.
    2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64)
    3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
    4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.
  3. 仅适用于macOS,将Docker Desktop的内存分配增加到8GB

    1. In the top status bar, click the Docker icon.
    2. Click Preferences > Resources > Advanced, and then set the memory to at least 8192.
    3. Click Apply.
  4. 仅适用于Linux,安装docker-compose。执行以下命令(更多信息,请参阅Docker文档中的安装Docker Compose):

    sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
  5. 为Docker中的Elasticsearch增加vm.max_map_count。根据操作系统执行以下命令:

    • Linux:

      echo "vm.max_map_count=262144" > /tmp/99-clearml.conf
      sudo mv /tmp/99-clearml.conf /etc/sysctl.d/99-clearml.conf
      sudo sysctl -w vm.max_map_count=262144
      sudo service docker restart
    • macOS:

      docker run --net=host --ipc=host --uts=host --pid=host --privileged --security-opt=seccomp=unconfined -it --rm -v /:/host alpine chroot /host
      sysctl -w vm.max_map_count=262144
  6. 移除任何之前安装的ClearML服务器。

    这将清除所有现有的ClearML SDK数据库。

    sudo rm -R /opt/clearml/
  7. 为数据库和存储创建本地目录。

    sudo mkdir -p /opt/clearml/data/elastic_7
    sudo mkdir -p /opt/clearml/data/mongo_4/db
    sudo mkdir -p /opt/clearml/data/mongo_4/configdb
    sudo mkdir -p /opt/clearml/data/redis
    sudo mkdir -p /opt/clearml/logs
    sudo mkdir -p /opt/clearml/config
    sudo mkdir -p /opt/clearml/data/fileserver
  8. 仅适用于macOS,请执行以下操作:

    1. 打开Docker应用程序。

    2. 选择首选项

    3. 文件共享选项卡中,添加/opt/clearml

  9. 根据操作系统授予对Docker的访问权限。

    • Linux:

      sudo chown -R 1000:1000 /opt/clearml
    • macOS:

      sudo chown -R $(whoami):staff /opt/clearml
  10. 下载ClearML服务器的docker-compose YAML文件。

    sudo curl https://raw.githubusercontent.com/allegroai/clearml-server/master/docker/docker-compose.yml -o /opt/clearml/docker-compose.yml
  11. 仅适用于Linux,配置ClearML代理服务

    • 设置CLEARML_AGENT_ACCESS_KEYCLEARML_AGENT_SECRET_KEY为保密字符串,以便服务代理与API服务器进行认证。请提供字符串值。

    • 如果未提供CLEARML_HOST_IP,则ClearML代理服务将使用ClearML服务器的外部公共地址

    • 设置 CLEARML_AGENT_GIT_USER / CLEARML_AGENT_GIT_PASS 以便 ClearML 代理服务可以访问私有仓库以运行服务任务

    export CLEARML_AGENT_ACCESS_KEY=generate_access_key_here
    export CLEARML_AGENT_SECRET_KEY=generate_secret_key_here
    export CLEARML_HOST_IP=server_host_ip_here
    export CLEARML_AGENT_GIT_USER=git_username_here
    export CLEARML_AGENT_GIT_PASS=git_password_here
  12. 使用下载的配置文件运行 docker-compose

    docker-compose -f /opt/clearml/docker-compose.yml up -d

服务器现在运行在 http://localhost:8080.

端口映射

部署ClearML服务器后,服务将暴露以下端口:

  • Web服务器在端口 8080
  • API 服务器在端口 8008
  • 文件服务器在端口 8081

重启

要重新启动ClearML Server Docker部署:

  • 通过执行以下命令停止然后重新启动Docker容器:

    docker-compose -f /opt/clearml/docker-compose.yml down
    docker-compose -f /opt/clearml/docker-compose.yml up -d

备份和恢复数据及配置

warning

在备份或恢复数据和配置之前,请停止您的服务器

本节中的命令是如何备份和恢复数据和配置的示例。

如果数据和配置文件夹位于/opt/clearml,则将所有数据归档到~/clearml_backup_data.tgz,并将配置归档到~/clearml_backup_config.tgz

sudo tar czvf ~/clearml_backup_data.tgz -C /opt/clearml/data .
sudo tar czvf ~/clearml_backup_config.tgz -C /opt/clearml/config .

如果需要,通过执行以下操作恢复数据和配置:

  1. 验证备份文件的存在。

  2. 用备份数据替换任何现有数据:

    sudo rm -fR /opt/clearml/data/* /opt/clearml/config/*
    sudo tar -xzf ~/clearml_backup_data.tgz -C /opt/clearml/data
    sudo tar -xzf ~/clearml_backup_config.tgz -C /opt/clearml/config
  3. 根据操作系统授予数据访问权限:

    • Linux:

      sudo chown -R 1000:1000 /opt/clearml
    • macOS:

      sudo chown -R $(whoami):staff /opt/clearml

下一步

为了跟踪您的实验和/或数据,clearml 包需要与您的服务器进行通信。 有关将 ClearML SDK 连接到服务器的说明,请参阅 入门指南:第一步