本地cassandra实例的联系点

问题描述 投票:0回答:2

我通过在docker上部署它创建了2个cassandra实例。一个在端口9042上另一个在9043上。

我有2个应用程序,一个连接到9042,另一个连接到9043.第一个应用程序连接到9042并正在成功运行。

我为db提供的属性是:contactpoints = localhost,port = 9042

由第二个数据库实例启动的第二个应用程序,即9043抛出错误:

om.datastax.driver.core.Cluster - 您在联系点中列出了localhost / 0:0:0:0:0:0:0:1:9042,但在控制主机的system.peers中找不到它启动

我给db的属性是:

contactpoints = localhost,port = 9043

如何在第一个应用程序运行时连接到cassandra实例9043?

docker cassandra spring-data-cassandra
2个回答
0
投票

您正在指定localhost,但在Docker中,每个localhost都是正在运行的映像的本地主机,而不是主机。我看到你有端口绑定到主机网络,所以你需要指定机器的IP地址而不是localhost。

附:另外,为什么要用Cassandra包装应用程序?这不是Docker的工作方式 - 每个进程都应该在单独的容器中运行......


0
投票

Cassandra中的每个节点都应绑定到一个单独的IP地址,即使在运行2个实例/节点的物理服务器或docker上也是如此。

© www.soinside.com 2019 - 2024. All rights reserved.