首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通过不同AWS账户中的网络负载均衡器(AWS)访问Cassandra

通过不同AWS账户中的网络负载均衡器(AWS)访问Cassandra
EN

Stack Overflow用户
提问于 2021-03-30 13:24:31
回答 1查看 118关注 0票数 0

我已经在aws账户的kubernetes上安装了cassandra(三个节点)。

我想通过aws端点(通过NLB)向不同的aws帐户打开相同的cassandra,以便我可以出于读/写目的访问此cassandra。

我正在使用spark(在不同的AWS账户中)在cassandra中加载数据,但我在加载数据时收到此警告。

WARN ChannelPool: [s0|/10.0.246.140:32034] Error while opening new channel (ConnectionInitException: [s0|connecting...] Protocol initialization request, step 1 (STARTUP {CQL_VERSION=3.0.0, DRIVER_NAME=DataStax Java driver for Apache Cassandra(R), DRIVER_VERSION=4.7.2, CLIENT_ID=b52c9022-561a-48d3-bd98-893c6c17f0c3, APPLICATION_NAME=Spark-Cassandra-Connector-application_1606197155514_0510}): failed to send request (java.nio.channels.NotYetConnectedException))

是否有人通过NLB打开了Cassandra,我是否需要在NLB中为cassandra中的每个节点创建单独的路由?如果是,该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2021-03-30 14:15:01

您需要定义一个K8s服务并通过Traefik等Ingress controller公开它,以便客户端(如您的Spark应用程序)可以从Kubernetes集群外部连接到您的Cassandra集群。

如果你使用的是 (cass-operator),,它会让你更容易使用,因为它预先配置了一个你可以使用的服务。请参阅我们在Connecting to Cassandra from outside the Kubernetes cluster中包含的入口示例。

如果您还没有意识到这一点,可以看看开源的。它是一个现成的平台,可以在Kubernetes中使用DataStax Cassandra运算符运行Apache Cassandra,但将所有工具捆绑在一起:

用于自动化repairs

由于所有这些组件都是开源的,它们都可以免费使用,不需要许可证或付费订阅,但仍然有强大的社区支持。干杯!

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

https://stackoverflow.com/questions/66865225

复制
相关文章

相似问题

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