硬件前提条件

硬件前提条件是单个 bootstrap 节点、Mesos 管理节点和 Mesos 代理节点。

bootstrap 节点

注意:bootstrap 节点必须与群集节点分开。

群集节点

在安装期间,群集节点是指定的 Mesos 管理节点和代理节点。支持的操作系统和环境列于 版本政策页面

DC/OS 安装到群集节点上的 /opt/mesosphere/opt/mesosphere 目录可在安装 DC/OS 之前创建,但必须是空目录或指向空目录的链接。DC/OS 可以通过在挂载卷上创建空目录,在 /opt/mesosphere 处创建指向空目录的链接,然后安装 DC/OS 的方式,安装在单独的卷挂载上。

管理节点

下表显示了管理节点的硬件要求:

最低 推荐
节点数 1* 3 或 5
处理器 4 核 4 核
内存 32 GB RAM 32 GB RAM
硬盘 120 GB 120 GB

* 对于业务关键部署,需要三个管理节点,而不是一个管理节点。

管理节点上有许多混合工作负载。预计持续可用或被视为业务关键的工作负载只能在具有至少三个管理节点的 DC/OS 群集上运行。有关高可用性要求的更多信息,请参阅 高可用性文档

管理节点上混合工作负载的示例是 Mesos 复制日志和 ZooKeeper。其中部分每隔一段时间需要进行 fsync(),而且可以生成很多非常昂贵的随机 I/O。我们推荐以下内容:

目录路径 描述
/var/lib/dcos
目录路径 描述
/var/lib/dcos/mesos/master
/var/lib/dcos/cockroach
/var/lib/dcos/navstar
/var/lib/dcos/secrets
/var/lib/dcos/exhibitor

代理节点

下表显示了代理节点的硬件要求。

最低 推荐
节点数 1 6 或更多
处理器 2 核 2 核
内存 16 GB RAM 16 GB RAM
硬盘 60 GB 60 GB

代理节点还必须具有:

重要信息:不要远程挂载 `/var/lib/mesos` 或 Docker 存储目录(默认情况下 `/var/lib/docker`)。

目录路径 描述
/var/lib/mesos/
目录路径 描述
/var/lib/mesos/slave/slaves
/var/lib/mesos/slave/volumes
/var/lib/mesos/docker/store
/var/lib/docker

端口和协议配置

DC/OS 用户与管理节点之间的中介(例如,执行 SSL 终止的反向代理)要求:

高速互联网访问

建议为 DC/OS 安装使用高速互联网连接。DC/OS 服务需要每秒至少 10 MBit。如果工件下载时间超过文件 /opt/mesosphere/etc/mesos-slave-common 中 MESOS_EXECUTOR_REGISTRATION_TIMEOUT 的值,某些 DC/OS 服务的安装将失败。MESOS_EXECUTOR_REGISTRATION_TIMEOUT 的默认值为 10 分钟。

软件前提条件

注意:名称服务缓存守护程序 'nscd' 或 'unscd.service' 必须禁用,因为它与 Mesos UCR 不兼容。

所有节点

Docker

Docker 必须安装在所有 bootstrap 和群集节点上。支持的 Docker 版本列于 版本策略页面

建议

分发特定的安装

每个 Linux 系统分发都需要以特定方式安装 Docker:

如需更多信息,请参阅 Docker 的分发特定的安装说明

禁用 sudo 密码提示

要禁用 sudo 密码提示,必须将以下行添加到 /etc/sudoers 文件。

%wheel ALL=(ALL) NOPASSWD: ALL

或者,您也可以作为 root user 执行 SSH。

启用 NTP

网络时间协议 (NTP) 必须在所有节点上启用,以便时钟同步。默认情况下,在 DC/OS 启动期间,如果未启用,将会出现错误。您可以通过运行以下一个命令来检查 NTP 是否启用,具体取决于操作系统和配置:

ntptime
adjtimex -p
timedatectl

bootstrap 节点

在安装 DC/OS 之前,您必须确保 bootstrap 节点具备以下前提条件。

重要信息:如果您指定 `exhibitor_storage_backend: zookeeper`,bootstrap 节点将是群集的永久部分。有了 `exhibitor_storage_backend: zookeeper`,Mesos 管理节点的领导者状态和领导者选举将在 bootstrap 节点上的 Exhibitor ZooKeeper 中维持。如需更多信息,请参阅配置参数文档

DC/OS 配置文件

Docker NGINX(生产安装)

仅用于生产安装,使用此命令安装 Docker NGINX 镜像:

sudo docker pull nginx

群集节点

仅对于生产安装,群集节点必须具备以下前提条件。在安装期间,群集节点被指定为 Mesos 管理节点和代理节点。

数据压缩(生产安装)

您必须在群集节点上安装 UnZipGNU tarXZ Utils 数据压缩实用程序。

在 CentOS7 和 RHEL7 上安装此类实用程序:

sudo yum install -y tar xz unzip curl ipset

群集权限(生产安装)

在每个群集节点上,遵循以下说明:

要检查当前 SELinux 状态和配置,请运行以下命令:

```bash
sudo sestatus
```

DC/OS 支持以下 SELinux 配置:

要将模式从 enforcing 更改为 permissive,请运行以下命令:

```bash
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
```

或者,如果 sestatus 显示“当前模式”为 enforcing,但 Loaded policy name 不是 targeted,请运行以下命令,将 Loaded policy name 更改为 targeted

```bash
sudo sed -i 's/SELINUXTYPE=.*/SELINUXTYPE=targeted/g' /etc/selinux/config
```

注意:确保每个节点上运行的所有服务都能在所选的 SELinux 配置中运行。

注意:重启后,节点可能需要几分钟时间才能恢复联机。

区域设置要求

您必须将 LC_ALLLANG 环境变量设置为 en_US.utf-8

localectl set-locale LANG=en_US.utf8

后续步骤