首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用java-驱动程序连接Kubernetes上的Cassandra

使用java-驱动程序连接Kubernetes上的Cassandra
EN

Stack Overflow用户
提问于 2021-11-29 12:43:28
回答 2查看 352关注 0票数 1

我们正在使用k8ssandra头盔图提供一个Cassandra集群,它公开了几个服务,我们的客户端应用程序正在使用datastax驱动程序,并且运行在与Cassandra集群相同的k8s集群上(这是测试阶段)。

代码语言:javascript
复制
CqlSessionBuilder builder = CqlSession.builder();

推荐的连接应用程序(通过驱动程序)到Cassandra的方法是什么?

添加所有节点?

代码语言:javascript
复制
for (String node :nodes) {
   builder.addContactPoint(new InetSocketAddress(node, 9042));
}

只添加服务地址?

代码语言:javascript
复制
 builder.addContactPoint(new InetSocketAddress(service-dns-name , 9042))

添加未解析的服务地址?(这还行吗?)

代码语言:javascript
复制
 builder.addContactPoint(InetSocketAddress.createUnresolved(service-dns-name , 9042))
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-30 04:25:44

k8ssandra Helm图表除了部署许多其他资源外,还部署了一个CassandraDatacenter对象和cass-运算符。cass-操作员负责管理CassandraDatacenter.它创建了StatefulSet并创建了几个无头服务,包括:

  • 数据中心服务
  • 种子服务
  • all pods服务

种子服务只解决作为种子的豆荚。它的名称是表单<cluster-name>-seed-service。由于豆荚的短暂性,cass-算子可以指定不同的C*节点作为种子节点。不要使用种子服务连接客户端应用程序。

所有吊舱服务解决所有卡桑德拉吊舱,无论他们是否准备好。它的名称是表单<cluster-name>-<dc-name>-all-pods-service。这项服务的目的是便于进行监测。不要使用all pods服务连接客户端应用程序。

数据中心服务解析为已准备好的吊舱。它的名称是表单<cluster-name>-<dc-name>-service,这是您应该用来连接客户端应用程序的服务。不要直接使用荚IP,因为它们会随着时间的推移而改变。

票数 1
EN

Stack Overflow用户

发布于 2021-11-29 15:58:32

添加所有节点?

您肯定不需要添加所有节点作为接触点。即使是在香草卡桑德拉,只添加几个是好的,因为司机会流言蜚语,找到其余的。

只添加服务地址?

在服务地址上绑定的第二个选项是您需要做的全部工作。服务地址的好处是,它将考虑更改/删除集群中的in。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70154851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档