通过程序或命令获取mesospehere dcos下的服务IPs ports 运行
Get the service IPs ports running under mesospehere dcos through program or command
我想连接到 Cassandra,它是 运行 作为 Mesosphere DC/OS 中的一项服务。是否有任何编程方式(任何 api 暴露)来获取 Cassandra 端口和 ip 详细信息?
从命令我可以像下面那样连接...我想以编程方式做的同样的事情可能是使用 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 和端口都在变化。我必须在我的 属性 文件中手动调整以获取最新的详细信息。如果是通过程序设置 属性,无需手动交互。
如果您使用 DNS 部分的条目(如下所示),即使任务重新定位到另一个节点,它们也不会改变
"node-0.cassandra.mesos:9042",
"node-1.cassandra.mesos:9042",
"node-2.cassandra.mesos:9042"
我想连接到 Cassandra,它是 运行 作为 Mesosphere DC/OS 中的一项服务。是否有任何编程方式(任何 api 暴露)来获取 Cassandra 端口和 ip 详细信息?
从命令我可以像下面那样连接...我想以编程方式做的同样的事情可能是使用 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 和端口都在变化。我必须在我的 属性 文件中手动调整以获取最新的详细信息。如果是通过程序设置 属性,无需手动交互。
如果您使用 DNS 部分的条目(如下所示),即使任务重新定位到另一个节点,它们也不会改变
"node-0.cassandra.mesos:9042",
"node-1.cassandra.mesos:9042",
"node-2.cassandra.mesos:9042"