首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装mesos -在mesos集群上停靠的DNS

安装mesos -在mesos集群上停靠的DNS
EN

Stack Overflow用户
提问于 2015-10-28 20:34:07
回答 1查看 1.6K关注 0票数 2

我遇到了一些麻烦,试图在一个mesos集群上运行mesos文件。

我已经在Windows8.1主机上安装了2台具有ubuntu可信任的虚拟机。我的vm名为docker-vmdocker-slave;其中第一个运行mesos-master,第二个运行mesos-从级。

VM有2张网卡,一张运行NAT,通过主机接入internet,另一张是仅供主机使用的内部通信适配器。

越南船民的综合行动计划如下:

  • 192.168.56.101 for docker-vm
  • 192.168.56.102 for docker-sl-vm

MESOS集群运行良好。

我正试着跟随本教程。因此,我运行的是mesos-dns,其马拉松描述如下:

代码语言:javascript
复制
{
    "args": [
        "/mesos-dns",
        "-config=/config.json"
    ],
    "container": {
        "docker": {
            "image": "mesosphere/mesos-dns",
            "network": "HOST"
        },
        "type": "DOCKER",
        "volumes": [
            {
                "containerPath": "/config.json",
                "hostPath": "/usr/local/mesos-dns/config.json",
                "mode": "RO"
            }
        ]
    },
    "cpus": 0.5,
    "mem": 256,
    "id": "mesos-dns",
    "instances": 1,
    "constraints": [["hostname", "CLUSTER", "docker-sl-vm"]]
}

和这个config.json

代码语言:javascript
复制
{
    "zk": "zk://192.168.56.101:2181/mesos",
    "refreshSeconds": 60,
    "ttl": 60,
    "domain": "mesos",
    "port": 53,
    "resolvers": ["8.8.8.8"],
    "timeout": 5,
    "email": "root.mesos-dns.mesos"
}

我还运行了一个名为peek的测试提案应用程序,其描述如下:

代码语言:javascript
复制
{
  "id": "peek",
  "cmd": "env >env.txt && python3 -m http.server 8080",
  "cpus": 0.5,
  "mem": 32.0,
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "python:3",
      "network": "BRIDGE",
      "portMappings": [
        { "containerPort": 8080, "hostPort": 0 }
      ]
    }
  }
}

问题

在本教程中,dig _peek._tcp.marathon.mesos SRV这样的dig命令得到了以下答案:

代码语言:javascript
复制
; <<>> DiG 9.9.5-3ubuntu0.5-Ubuntu <<>> _peek._tcp.marathon.mesos SRV
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57329
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;_peek._tcp.marathon.mesos. IN  SRV

;; ANSWER SECTION:
_peek._tcp.marathon.mesos. 60   IN  SRV 0 0 31000 peek-27346-s0.marathon.mesos.

;; ADDITIONAL SECTION:
peek-27346-s0.marathon.mesos. 60 IN A   10.141.141.10

;; Query time: 4 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Oct 24 23:21:15 UTC 2015
;; MSG SIZE  rcvd: 160

在这里我们可以清楚地看到绑定到_peek._tcp.marathon.mesos SRV的端口和IP,当我在运行这个容器的从机器上运行这个端口和IP时,我得到了这样的结果:

代码语言:javascript
复制
docker@docker-sl-vm:~$ dig _peek._tcp.marathon.mesos SRV

; <<>> DiG 9.9.5-3ubuntu0.5-Ubuntu <<>> _peek._tcp.marathon.mesos SRV
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 33415
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;_peek._tcp.marathon.mesos. IN  SRV

;; AUTHORITY SECTION:
.           10791   IN  SOA a.root-servers.net. nstld.verisign-grs.com. 2015102801 1800 900 604800 241

;; Query time: 1 msec
;; SERVER: 10.10.11.1#53(10.10.11.1)
;; WHEN: Wed Oct 28 17:06:30 BRT 2015
;; MSG SIZE  rcvd: 129

看起来mesos无法解析_peek._tcp.marathon.mesos SRV.

,有人知道为什么和如何修复它吗?

谢谢你提前..。

更新

命令/etc/resolv.conf的结果:

代码语言:javascript
复制
nameserver 10.10.11.1
nameserver 10.10.10.7
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-30 15:38:31

查看有关从安装程序的Mesos DNS文档

要允许Mesos任务使用Mesos作为主DNS服务器,您必须在每个从服务器中编辑文件/etc/resolv.conf并添加一个新的名称服务器。例如,如果mesos-dns运行在IP地址为10.181.64.13的服务器上,则应该在每个从节点的/etc/resolv.conf开头添加行名称服务器10.181.64.13。

我认为本地IP (192.168.56.102)地址在您的/etc/resolv.conf中丢失了。

否则,您也可以尝试我最小的Mesos DNS映像,但仍然需要编辑上面的文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33401101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档