dns - mesos-dns 在使用 Cassandra-mesos 框架时为访问 Cassandra 提供的服务名称是什么?

标签 dns mesos mesosphere

我们使用的是稍微修改过的社区中间层集群。这已经安装了 mesos-dns - 所以我们可以解析 master.mesos 和 x.marathon.mesos,没问题。 问题是我们应该使用哪个名称来访问 Cassandra 数据库(无论是使用 cqlsh 还是其他应用程序)?

我在文档中找到了以下内容:cassandra-dcos-node.cassandra.dcos.mesos ( https://docs.mesosphere.com/services/cassandra/ ) 但如果我们更改集群名称(比如“foo”)怎么办?哪个位被修改了?我已经尝试过所有组合,但还没有解决。

最佳答案

如果 Cassandra 在 DCOS 上运行(文档引用),集群名称是 dcos。 Mesos注册的框架名称是cassandra.dcos。正在运行的 Cassandra 服务器的任务名称是 cassandra.dcos.node

如果您将集群名称更改为“foo”,则框架名称现在为 cassandra.foo,服务器任务名称现在为 cassandra.foo.node.

要访问“foo”Cassandra 集群,您可以使用 cassandra-foo-node.cassandra.foo.mesos

现在解释如何:

由 mesos-dns 创建的 DNS 名称遵循特定的模式,所有这些都可以在官方文档中找到[1]。

为了总结此处的文档,mesos-dns 使用以下格式创建了一个 DNS 名称:taskName.frameworkName.mesos

在 Cassandra 的情况下,任务名称是 cassandra.dcos.node which mesos-dns 变成 cassandra-dcos-node 因为它不是所有的 . 在任务名称中。框架名称 cassandra.dcos 允许包含 . 以保持不变。 mesos 是 TLD 的默认值。

当我们把它放在一起时,这就是 cassandra-dcos-node.cassandra.dcos.mesos

最初的意图是将名称命名为 node.dcos.cassandra.mesos 但由于时间限制和对 mesos-dns 工作方式的误解,这就是我们剩下的。希望将来可以清理干净。

[1] http://mesosphere.github.io/mesos-dns/docs/naming.html

关于dns - mesos-dns 在使用 Cassandra-mesos 框架时为访问 Cassandra 提供的服务名称是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31403882/

相关文章:

git - Docker 容器无法从 github.com 克隆

python - 在chronos中为docker自定义mesos执行程序

docker - 如何在马拉松中使用volumes-from

docker - 使用Docker与使用Marathon Mesos的黑白差异安装Docker容器

.net - 获取与 IP 关联的所有 DNS 记录

.net - 如何获取 HttpWebRequest 连接到的服务器的 IP 地址?

apache-zookeeper - mesos 从站未与 mesos 主站集群连接

apache-spark - Mesos 上的 Apache Spark : Initial job has not accepted any resources

dns - 如何在 CloudFoundry 环境 (Swisscom AppCloud) 中创建安全的内部路由

Mesos 应用程序,为什么不使用 Marathon 来处理所有事情?