通过程序或命令获取在mesospehere dcos下运行的服务IP端口

时间:2018-07-16 21:12:44

标签: java scala cassandra mesosphere dcos

我想连接到在Mesosphere DC / OS中作为服务运行的Cassandra。是否有任何编程方式(公开的任何api)来获取Cassandra端口和ip详细信息?

通过Command,我可以像下面这样连接...我想以编程方式完成的同一件事可能是使用REST API ...或Java客户端来连接到这些服务。

根据此文档https://github.com/mesosphere/dcos-cassandra-service/blob/master/docs/connecting-clients.md

$ dcos cassandra --name=<service-name> connection

{
  "address": [
    "10.0.0.47:9042",
    "10.0.0.50:9042",
    "10.0.0.49:9042"
  ],
  "dns": [
     "node-0.cassandra.mesos:9042",
     "node-1.cassandra.mesos:9042",
     "node-2.cassandra.mesos:9042"
  ]
}

注意:这样做的原因是每次更改cassandra IP和端口时。我必须手动调整属性文件以获取最新详细信息。如果使用直通程序,则无需手动交互即可非常轻松地设置属性。

1 个答案:

答案 0 :(得分:1)

如果您使用“ DNS”部分中的条目(如下所示),即使任务已移至另一个节点,它们也不会更改

 "node-0.cassandra.mesos:9042",
 "node-1.cassandra.mesos:9042",
 "node-2.cassandra.mesos:9042"