当前位置: 首页 > 面试题库 >

在Mesos群集上以泊坞方式设置Mesos-DNS

翟元凯
2023-03-14
问题内容

我在尝试在mesos集群上运行dockerized的mesos-dns时遇到了一些麻烦。

我已经在Windows 8.1主机上使用ubuntu trusty设置了2个虚拟机。我的虚拟机称为 docker-vmdocker-sl-
vm
;其中第一个运行mesos-master,第二个运行mesos-slave。

VM有2个网卡;一个运行NAT以便通过主机访问Internet,另一个运行NAT的主机专用适配器进行内部通信。

VM的IP为:

  • 192.168.56.101搬运工-VM
  • 192.168.56.102搬运工-SL-VM

MESOS集群正在运行。

我正在尝试按照本教程进行操作。因此,我正在运行具有以下马拉松描述的 mesos-dns

{
    "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

{
    "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 的测试建议应用程序:

{
  "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这样的dig命令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: 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

当我在从属计算机(正在运行此容器)上运行此端口时,我们可以清楚地看到绑定到的端口和IP _peek._tcp.marathon.mesos SRV
得到以下结果:

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-dns 无法解析_peek._tcp.marathon.mesos SRV。

有谁知道为什么以及如何解决它?

先感谢您…

更新

命令结果/etc/resolv.conf

nameserver 10.10.11.1
nameserver 10.10.10.7

问题答案:

看看有关 Slave Setup 的Mesos DNS文档: __

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

我认为您的IP 192.168.56.102地址中缺少本地IP()地址/etc/resolv.conf

否则,您也可以尝试使用我的最小Mesos DNS映像,但是您仍然必须编辑上述文件。



 类似资料:
  • 我正在尝试用Mesos集群模式运行Spark应用程序。(我有客户端模式工作,但仍然想尝试集群模式) 在YARN集群模式下,Spark的YARN客户机实现将把应用程序jar上传到HDFS,这样驱动程序和所有执行程序都可以访问jar,但是我在RestSubmissionClient中找不到这样的代码,Mesos或Standalond集群模式使用的是RestSubmissionClient。 在这种情况

  • 另外,我在每个节点的“/var/lib/zookeeper”中创建了一个“myid”文件。例如,对于“150.20.11.157”,其ID在myid文件中为“1”。我也在码头上安装了Mesos和Spark。我也有一个由这三个节点组成的Mesos集群。我在这个文件中定义了从节点的IP地址:“spark/conf/slaves” 我在“spark/conf/spark-env.sh”中添加了以下几行:

  • 我正在部署一个有3个节点的zookeeper集群。我使用它来保持mesos master的高可用性。我下载Zookeeper-3.4.6.tar.gz tarball并将其解压缩为/opt,重命名为/opt/zookeeper,进入目录,编辑conf/zoo.cfg(粘贴在下面),在dataDir中创建一个myid文件(在zoo.cfg中设置为/var/lib/zookeeper),并使用./bi

  • 问题内容: 我正在尝试建立一个docker / fig Mesos集群。我是无花果和Docker的新手。Docker有很多文档,但是我发现自己很努力地了解如何使用fig。 这是我目前的fig.yaml: 谢谢 ! 编辑: 多亏了Mark O`Connor的帮助,我创建了一个基于docker的mesos实用设置(+ Storm,Chronos等)。 尽情享受,如果您觉得这有用-请贡献:https :

  • mesos.py是leancloud开发的open-falcon插件脚本,通过这个插件,结合open-falcon agent/transfer,可以采集mesos相关数据,并将采集信息自动上报给open-falcon服务端 https://github.com/leancloud/satori/tree/master/satori-rules/plugin/mesos

  • 我有一个Mesos集群启动和运行(1个主和2个从)与马拉松。我使用docker作为Mesos/Marathon中的容器。我有一个卡拉夫码头,将在马拉松作为集群发射。我计划用织物的地窖作为卡拉夫的聚类解决方案。我的问题是 提前致谢