How To Configure a Production-Re
介绍
Mesosphere 是一个存在于操作系统层之上的结合各种有效管理服务集群和高可用部署的系统。有别于像CoreOS操作系统,Mesosphere 不是一个专门的操作系统,取而代之的是一系列包。
在这篇指南中,我们将回顾如何在Mesosphere上配置高可用集群。这些配置将向我们介绍任何一个master节点down掉和池里面的slave被安排接管任务的故障切换。
这篇指导中我们使用的ubuntu 14.04 服务器
先决条件和目标
在你完成这篇指导之前,强烈推荐你回顾下我们关于Mesosphere的介绍。这是你熟悉系统组成组件和协助你鉴别每个部件职责的有效途径。
在这篇教程中,我们将使用6台ubuntu服务器。遵从Apache Mesos推荐生产环境至少有三个master。提供有三个worker或者slave server,用于任务被发到集群的工作分配。
这六个服务器使用zookeeper保持与现任的master服务器leader联系。Mesos层,处于之上,将提供分布式同步和资源交付。它也有责任管理集群。Marathon,集群分布式初始化系统,被用于调度任务和交付工作给slave服务器。
因为指导的缘故,我们将分配有如下配置的服务器:
主机名 功能 IP地址
master1 Mesos master 192.0.2.1
master2 Mesos master 192.0.2.2
master3 Mesos master 192.0.2.3
slave1 Mesos slave 192.0.2.51
slave2 Mesos slave 192.0.2.52
slave3 Mesos slave 192.0.2.53
每个机器应已安装Ubuntu 14.04。你想完成基本配置项罗列在Ubuntu 14.04初始服务安装指导。
当你完成以上步骤,继续转到这篇指导。
在服务器上安装Mesosphere
第一步开启集群并运行安装软件。幸运的是,Mesosphere项目维护了一个便于安装Ubuntu最新软件包的仓库。
添加Mesosphere仓库到你的主机上
在所有主机上(masters和slaves),完成如下步骤。
首先,添加Mesosphere源到源列表。这个过程包括下载Mesosphere项目的来自Ubuntu 密钥服务器的密钥,然后给我们的Ubuntu版本制作正确的URL。项目提供了一个做这件事的方便方法:
sudoapt-key adv --keyserver keyserver.ubuntu.com --recv E56151BFDISTRO=$(lsb_release -is | tr'[:upper:]''[:lower:]')CODENAME=$(lsb_release -cs)echo"deb http://repos.mesosphere.io/${DISTRO}${CODENAME}main"|sudotee /etc/apt/sources.list.d/mesosphere.list
Install the Necessary Components
在你已经把Mesosphere仓库添加到你的系统之后,你需要更新你本地包缓存获取新组件的使用权:
sudoapt-get -y update
接下来,你需要安装依赖包。你需要什么组件取决于你主机的角色,对于你的master主机,你需要Mesosphere meta包。包括走哦客片儿,mesos,marathon,和chromos应用。
sudoapt-get install mesosphere
在你的slave 主机上,你仅仅需要mesos包,也作为依赖拉入zookeeper:
sudoapt-get install mesos
设置Mesos的Zookeeper连接信息
第一件要去做的十佳球是配置我们的zookeeper连接信息。这是允许我们主机连接到正确master服务器的底层,所以从这里开始是在情理之中的。
我们的master服务器将是zookeeper集群的唯一成员,但是所有我们的服务器需要能使用协议通信的配置。定义这个的文件是/etc/mesos/zk.
在你所有的主机上,完成下列步骤。使用root权限打开文件:
sudo nano /etc/mesos/zk
在文件里面,找到连接由默认接入本地实例的URL。看起来像这样:
zk://localhost:2181/mesos
我们需要修改这个指向我们的三个master服务器。替换localhost成我们的第一个Mesos master的IP地址。我们在端口后加一个逗号,相同格式添加我们的第二个和第三个master到列表中。
因为在指南中,我们的master IP地址是192.0.2.1,192.168.2.2, and192.168.2.3.我们的配置文件将是这样的:
zk://192.0.2.1:2181,192.0.2.2:2181,192.0.2.3:2181/mesos
行必须以zk://开头,/mesos结尾。中间是你的master服务器的IP地址和zookeeper端口(默认是2181)。
完成后保存和关闭文件。
使用完全相同的条目在每一个master和slave中。这将帮助每个独立的服务器连接到正确的master服务器使之与集群通信。