我想连接到在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和端口时。我必须手动调整属性文件以获取最新详细信息。如果使用直通程序,则无需手动交互即可非常轻松地设置属性。
答案 0 :(得分:1)
如果您使用“ DNS”部分中的条目(如下所示),即使任务已移至另一个节点,它们也不会更改
"node-0.cassandra.mesos:9042",
"node-1.cassandra.mesos:9042",
"node-2.cassandra.mesos:9042"