专栏名称: 分布式实验室
最专业的Docker文章,最权威的Docker新闻。关注容器生态圈的发展。
目录
相关文章推荐
51好读  ›  专栏  ›  分布式实验室

使用Mesos-starter从头编写Mesos框架

分布式实验室  · 公众号  · 后端  · 2017-02-04 07:45

正文

请到「今天看啥」查看全文


这时,你可能想要看看是不是实际构建出来了,运行 $ ./mvnw verify 。如果一切正常,那么mvnw命令应该能够下载到Maven以及项目所有依赖的特定版本,并且最终运行应用程序的集成测试。要注意,这是个几乎空白的应用程序。

我们已经得到了一个可以工作的应用程序,现在添加Mesos-starter的依赖。编写的同时它已经发布到Maven Central了,因此可以在pom.xml添加Bintray存储库。


bintray-containersolutions
bintray
http://dl.bintray.com/containersolutions/maven

这样就能够访问spring-boot-starter-mesos模块了。


com.containersolutions.mesos
spring-boot-starter-mesos
0.2.2

这些在classpath上,应用程序现在就已经是成熟的Mesos集群了。显然调度器还需要一些配置。首先,在src/main/resources/application.properties里添加如下行配置名称:

spring.application.name=Tansu

名称很重要,因为调度器需要注册到框架里。

接下来是分配资源。这个用例里,0.1 cpus和64 MB内存就足够了。再次通过application.properties文件配置,

mesos.resources.cpus=0.1
mesos.resources.mem=64

并且应用程序需要三个实例

mesos.resources.count=3

还需要的最后资源是http接口的端口。

mesos.resources.ports.tansu-http-port.host=ANY

这会向运行时暴露一个名为TANSU_HTTP_PORT的环境变量,实际端口是从Mesos offer里抓取的。

资源配置完成,现在需要配置任务本身。Tansu已经有了Docker镜像,可以通过如下方法添加

mesos.docker.image=shortishly/tansu:0.28.0

因为Tansu节点是通过mdns互相发现的,因此它们需要处在同一个网络上。Mesos里可以通过一些方法达到这一目的。要么使用Docker里的overlay网络,或者可以将Docker容器里的网络适配器改变为宿主适配器。







请到「今天看啥」查看全文