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的信息,请参见此处。
如果正在重新安装ClearML Server,建议清除ClearML Server的浏览器cookie。例如,对于Firefox,请转到开发者工具 > 存储 > Cookies,对于Chrome,请转到开发者工具 > 应用程序 > Cookies,并删除ClearML Server URL下的所有cookie。
先决条件
仅适用于Linux用户:
- Linux 发行版必须支持 Docker。有关更多信息,请参阅 Docker 文档。
- 以具有
sudo
权限的用户身份登录。 - 在本安装过程中,所有命令行指令均使用
bash
。 - 端口
8080
、8081
和8008
必须对 ClearML 服务器服务可用。
部署
默认情况下,ClearML Server 启动时具有无限制访问权限。要限制 ClearML Server 的访问权限,请按照安全页面中的说明操作。
部署服务器至少需要8 GB内存,建议使用16 GB。
在Linux或macOS上启动ClearML服务器:
-
安装Docker。说明取决于操作系统:
- Linux - 请参阅 Docker for Ubuntu.
- macOS - 参见 适用于OS X的Docker.
-
验证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. -
仅适用于macOS,将Docker Desktop的内存分配增加到
8GB
。- In the top status bar, click the Docker icon.
- Click Preferences > Resources > Advanced, and then set the memory to at least
8192
. - Click Apply.
-
仅适用于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 -
为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
-
-
移除任何之前安装的ClearML服务器。
这将清除所有现有的ClearML SDK数据库。
sudo rm -R /opt/clearml/
-
为数据库和存储创建本地目录。
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 -
仅适用于macOS,请执行以下操作:
-
打开Docker应用程序。
-
选择首选项。
-
在文件共享选项卡中,添加
/opt/clearml
。
-
-
根据操作系统授予对Docker的访问权限。
-
Linux:
sudo chown -R 1000:1000 /opt/clearml
-
macOS:
sudo chown -R $(whoami):staff /opt/clearml
-
-
下载ClearML服务器的docker-compose YAML文件。
sudo curl https://raw.githubusercontent.com/allegroai/clearml-server/master/docker/docker-compose.yml -o /opt/clearml/docker-compose.yml
-
仅适用于Linux,配置ClearML代理服务:
-
设置
CLEARML_AGENT_ACCESS_KEY
和CLEARML_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 -
-
使用下载的配置文件运行
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
备份和恢复数据及配置
在备份或恢复数据和配置之前,请停止您的服务器
本节中的命令是如何备份和恢复数据和配置的示例。
如果数据和配置文件夹位于/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 .
如果需要,通过执行以下操作恢复数据和配置:
-
验证备份文件的存在。
-
用备份数据替换任何现有数据:
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 -
根据操作系统授予数据访问权限:
-
Linux:
sudo chown -R 1000:1000 /opt/clearml
-
macOS:
sudo chown -R $(whoami):staff /opt/clearml
-
下一步
为了跟踪您的实验和/或数据,clearml
包需要与您的服务器进行通信。
有关将 ClearML SDK 连接到服务器的说明,请参阅 入门指南:第一步。