我们正在使用略微修改的社区中间圈集群。这安装了mesos-dns - 所以我们可以解析master.mesos和x.marathon.mesos,没问题。 问题是我们应该使用哪个名称来访问Cassandra数据库(无论是使用cqlsh还是使用其他应用程序)?
我在文档中找到了以下内容:cassandra-dcos-node.cassandra.dcos.mesos(https://docs.mesosphere.com/services/cassandra/)但是如果我们更改群集名称(比如“foo”)怎么办?哪个位被修改?我玩过所有组合,但还没有解决过。
答案 0 :(得分:3)
如果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
,其中mesos-dns变为cassandra-dcos-node
,因为它不是任务名称中的所有.
。框架名cassandra.dcos
允许包含.
,以便保持不变。而mesos是TLD的默认值。
当我们完全说出来时,这是cassandra-dcos-node.cassandra.dcos.mesos
。
最初的意图是名称为node.dcos.cassandra.mesos
,但由于时间限制和对mesos-dns如何工作的误解,这就是我们留下的。希望将来可以清理它。
答案 1 :(得分:1)
cassandra-mesos框架提供的cassandra服务器的默认DNS名称为cassandra.dcos.node
。根据mesos-dns规范预先添加到服务cassandra
,然后添加到域dcos.mesos
以形成cassandra-dcos-node.cassandra.dcos.mesos
。
如果您仍不清楚,确认服务名称的方法是:
journalctl -u mesos-dns -f
您正在寻找类似于以下内容的A记录条目:
Jul 14 13:43:09 ip-10-0-7-2.us-west-2.compute.internal mesos-dns[1331]: VERY VERBOSE: 2015/07/14 13:43:09 generator.go:364: [A] cassandra-dcos-node.cassandra.dcos.mesos.: 10.0.1.171