教程 - 安装第一个软件包

DC/OS 101 教程第 2 部分

IMPORTANT: Mesosphere does not support this tutorial, associated scripts, or commands, which are provided without warranty of any kind. The purpose of this tutorial is purely to demonstrate capabilities, and it may not be suited for use in a production environment. Before using a similar solution in your environment, you should adapt, validate, and test.

欢迎阅读 DC/OS 101 教程第 2 部分。

先决条件

到目前为止,您应该已经安装并配置了正在运行的 DC/OS 群集和 DC/OS CLI。如果不是这样,请按照本教程的第一部分进行操作。 本教程的下一阶段使用 jq,一个命令行 JSON 处理器,以简化一些命令。请遵循此处的说明为操作系统安装 JQ。

目的

本部分结束时,您将从 DC/OS Universe 存储库安装第一个服务 - Redis。Redis 是键值存储,您将在本教程中用于保存数据。

步骤

  • 安装 Redis

  • 在 Universe 存储库中搜索 Redis 软件包:

    dcos package search redis
    

    这应该返回两个条目(mr-redis 和 redis)。

  • 您想要 redis 软件包,它安装单个 Redis 容器。使用此命令安装软件包:

    dcos package install redis
    
  • 您可以使用以下任何方法检查 Redis 是否正在运行:

  • 通过查看 GUI:Redis 任务应显示在“Service Health”选项卡中,并显示运行状况。

  • 通过使用 dcos task 命令查看所有 DC/OS 任务 。此命令将向我们显示所有正在运行的 DC/OS 任务(即 Mesos 任务)。

  • 通过查看所有 Marathon 应用程序:dcos marathon app list。此命令将向我们显示所有正在运行 Marathon 应用程序。由于服务是通过 Marathon 启动的,所以您还应该在此处看到 Redis。请注意,此处还显示了运行状况(即 1/1)。

  • 通过查看 Redis 日志:dcos task log redis。此命令将向我们显示 redis 任务的日志(stdoutstderr)。这允许您检查实际启动是否成功。您可以使用 --lines= 参数增加显示的日志行数;默认值为 10。 *让我们通过 redis-cli 命令手动存储密钥来使用 Redis

  • SSH 进入运行 redis 的节点:

    dcos node ssh --master-proxy --mesos-id=$(dcos task  redis --json |  jq -r  '.[] | .slave_id')
    
  • 因为 Redis 在 Docker 容器中运行,所以您可以使用 docker ps列出所有 Docker 容器,并获取运行 Redis 服务的容器的 ContainerID。

  • 在正在运行的容器中启动 bash 会话,将 CONTAINER_ID 替换为您从上一个命令中获得的 ContainerID:

    sudo docker exec -i -t CONTAINER_ID  /bin/bash
    
  • 启动 Redis CLI:

    redis-cli
    
  • 设置具有值的密钥:

    set mykey key1
    
  • 检查值是否存在:

    get mykey
    

结果

您刚刚从目录中成功安装了第一个服务,并验证它正在运行!

深入研究

目录 是可用于 DC/OS 群集的软件包存储库。 它使您能够轻松地在群集中安装诸如 Apache Spark 或 Apache Cassandra 等服务,而无需处理手动配置。目录软件包由许多不同的贡献者开发和维护。

目前有两类软件包:

  1. 经过测试和认证的策划软件包。
  2. 社区贡献的软件包,可能未经过良好测试。

您还可以添加自己的存储库,其包含您的自定义软件包。有关详细信息,请参阅文档

下一部分 中,您将部署连接到 Redis 的简单应用程序。