问题标签 [mesosphere]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dns - mesos-dns,使用端口的最佳实践
我对服务发现和集群系统很陌生。我开始尝试使用 Mesos 和 Marathon 来部署 Docker 容器,Marathon REST API 和 UI 似乎做得很好。
我的问题是部署服务的实际发现。出于测试目的,我部署了一个通过 Marathon 扩展到 3 个实例的 Kafka 集群,就像我对 MongoDB 测试集群所做的那样。Mesos-DNS 客户端给了我一个类似的记录kafka.marathon.mesos
,mongo.marathon.mesos
这意味着从主机到容器的动态映射端口。问题是,我的客户明确需要有关目标端口的信息。有没有一种通用的方法可以自动和动态地从服务中获取这些端口信息?暴露多个端口的应用程序呢?
到目前为止我的想法: - 进行 REST 调用以获取有关已部署应用程序的状态并以某种方式提取相关数据 - 进行 DNS SRV 查找并以某种方式提取相关数据 - 拥有某种“主”,静态绑定到端口,具有动态的“客户”。
我搜索了很多这些信息,但最后大多数教程都以手动查找结束,这不是我的目标。
jenkins - 詹金斯奴隶不在 mesos 上工作
我正在为 CI 使用 jenkins mesos 插件。最初,我遵循以下教程:http ://www.ebaytechblog.com/2014/05/12/delivering-ebays-ci-solution-with-apache-mesos-part-ii/
但是詹金斯本身并没有通过这个设置。(我得到错误无法加载 config.xml 文件,即使有一个)
然后我跟着https://rogerignazio.com/blog/scaling-jenkins-mesos-marathon/ ,我能够运行 jenkins master (jenkins framework/scheduler),但是当我定义要运行的脚本时,jenkins-slaves没有被创建。我想我缺少一些关于奴隶的配置。你能告诉我,没有创建奴隶来运行工作的原因是什么。
在詹金斯构建页面上,我得到:
在詹金斯日志中,我收到以下错误:
编辑:我想我遇到了错误,因为我没有定义任何容器端口映射。谁能告诉我该怎么做?
更新:实际上 0.7 版本的 mesos 插件存在很多问题。所以,我干脆降级到0.6版本。
jenkins - Mesos Marathon 如何处理应用程序数据持久性?
我一直在探索 Mesos、Marathon 框架来部署应用程序。我怀疑 Marathon 在应用程序被杀死时如何处理应用程序文件。
例如,我们正在使用通过 Marathon 运行的 Jenkins,如果 Jenkins 服务器出现故障,它将由 Marathon 再次重新启动,但这次定义的旧作业将丢失。
现在我的问题是如何确保如果应用程序重新启动,那些旧的应用程序作业应该可用?
谢谢。
apache-spark - 使用 Zookeeper 在 Mesos 上运行简单的 Spark 脚本
我想运行一个简单的火花程序,但我受到一些错误的限制。我的环境是:CentOS:6.6 Java:1.7.0_51 Scala:2.10.4 Spark:spark-1.4.0-bin-hadoop2.6 Mesos:0.22.1
全部安装完毕,节点启动。现在我有一个 Mesos 主节点和一个 Mesos 从节点。我的火花属性如下:
现在,当我启动 spark 时,涉及到 scala prompt(scala>)。之后我收到以下错误:mesos 任务 1 现在是 TASK_FAILED,由于失败太多而将 mesos 从属值列入黑名单是安装了 Spark 如何解决这个问题。
docker - Mesos 无法从私有 Docker 注册表部署容器
我有一个私有 Docker 注册表,可通过https://docker.somedomain.com访问(通过标准端口 443 而不是 5000)。我的基础设施包括一套 Mesosphere,它启用了 docker containerizer。我正在尝试通过 Marathon 将特定容器部署到 Mesos 从站;但是,这总是失败,因为 Mesos 几乎立即失败了任务,并且该沙箱的 stderr 和 stdout 中没有数据。
我尝试从标准 Docker Registry 中的映像进行部署,它似乎工作正常。我很难弄清楚出了什么问题。我的私有 Docker 注册表不需要密码身份验证(为调试而关闭),如果我进入 Meso 的从属实例,并以 root 身份使用 sudo su,我可以运行“docker pull docker.somedomain.com/services/myapp”每次都成功。
这是我开始任务的马拉松帖子数据:
我已经坚持了将近一天,我尝试过的一切似乎都产生了相同的结果。对此的任何见解将不胜感激。
我的版本: Mesos:0.22.1 Marathon:0.8.2 Docker:1.6.2
amazon-web-services - .dockercfg 文件应该如何托管在 Mesosphere-on-AWS 设置中,以便只有 Mesosphere 可以使用它?
我们在私有 VPC 中在 AWS 上使用 Mesosphere 建立了一个测试集群。我们有一些公开的 Docker 镜像,它们很容易部署。但是,我们的大多数服务都是私有镜像,托管在 Docker Hub 私有计划上,并且需要身份验证才能访问。
Mesosphere 能够进行私有注册表身份验证,但它以一种不完全理想的方式实现了这一点:需要在所有 Mesos/Marathon 任务定义中指定 .dockercfg 文件的 HTTPS URI。
正如标题所暗示的,问题基本上是:如何将 .dockercfg 文件托管在 AWS 中,以便尽可能严格地将访问权限限制在 Mesos 主从服务器上?
chef-infra - 在资源“执行 [等待领导者]”上执行操作“运行”时出错
我正在使用厨师食谱进行 DCOS 本地设置。这是我面临的两个问题,第二个是我仍然坚持的问题....
1. 找不到包dcos-el-repo:
*10.40.1.2 * 找不到包 dcos-el-repo:http://repos.mesosphere.io/dcos/el/7/noarch/RPMS/dcos-el-repo-7-0.el7.centos.noarch。转*
注意:我可以通过在每个节点上手动安装 RPM 并从运行中注释掉 _repo.rb 配方来绕过这一点。不知道为什么它不能通过食谱起作用。
2.执行[等待领导]动作运行
10.40.1.9
run
对资源“执行 [等待领导者]”执行操作时出错 10.40.1.9 =============================== ================================================== 10.40 .1.9 10.40.1.9 10.40.1.9 Mixlib::ShellOut::ShellCommandFailed 10.40.1.9 -------------------------------- ---- 10.40.1.9 预期进程以 [0] 退出,但收到 '2' 10.40.1.9 ---- 开始输出 ping -c 1 leader.mesos ---- 10.40.1.9 STDOUT: 10.40.1.9 STDERR: ping: unknown host leader.mesos 10.40.1.9 ---- End output of ping -c 1 leader.mesos ---- 10.40.1.9 Ran ping -c 1 leader.mesos 返回 2
distributed-computing - 执行者向 Mesos master 注册是否有超时?
我有一个 200 个节点的 mesos 集群,可以同时运行大约 2700 个执行程序。大约 10-20% 的执行者在一开始就迷路了。他们只在提取执行程序 tar 文件之前进行。
我的执行程序 tar 球非常大(大约 40 MB 左右),大多数需要 30 多秒才能下载的执行程序都丢失了。mesos master 是否会等待所有 executor 直到某个时间段注册并在 executor 未能这样做时将它们标记为 LOST?
执行人详情:
我正在使用 python 来实现调度程序和执行程序。执行程序代码是一个扩展基类“执行程序”的 python 文件。我已经实现了 Executor 类的 launchTasks 方法,它只是做 executor 应该做的事情。
执行人信息为:
constraints - 使用 Marathon 约束的问题
我正在运行一个 mesos + marathon 集群,到目前为止一切正常。但我不知道如何在马拉松比赛中使用约束。
我已经用属性标记了我的 mesos 奴隶
在我的容器的马拉松描述中,我添加了
但是当我部署我的容器时,我只得到“INFO No matching offer for”,我不知道我做错了什么。
有什么我想念的吗?
jenkins - 如何在 Jenkins Mesos 框架中持久化作业?
我已将 Jenkins Scheduler (Framework) 作为 Marathon 应用程序启动。现在,如果 Jenkins 调度程序以某种方式死亡,马拉松将重新启动它。但是所有的工作和设置都将消失。如果 Jenkins Mesos 框架死亡并重新开始,如何在它中保留工作?