我通过在docker上部署创建了2个cassandra实例。一个在端口9042上,另一个在9043上。
我有2个应用程序,一个要连接到9042,另一个要连接到9043。 第一个应用程序已连接到9042,并成功运行。
我为数据库提供的属性是: contactpoints =本地主机, 端口= 9042
要由第二个数据库实例启动的第二个应用程序,即9043抛出错误:
om.datastax.driver.core.Cluster-您在联系点中列出了localhost / 0:0:0:0:0:0:0:1:9042,但在控制主机的系统中找不到.peers在启动时
我为数据库提供的属性是:
contactpoints =本地主机, 端口= 9043
在第一个应用程序运行时,如何连接到cassandra intance 9043?
答案 0 :(得分:0)
您要指定localhost,但在Docker内部,每个localhost在运行映像的本地,而不是主机的本地。如我所见,您有绑定到主机网络的端口,因此您需要指定计算机的IP地址而不是localhost。
P.S。另外,为什么还要用Cassandra打包应用程序?并不是Docker的工作原理-每个进程都应该在单独的容器中运行...
答案 1 :(得分:0)
即使在运行2个实例/节点的物理服务器或docker上,Cassandra中的每个节点也应绑定到一个单独的IP地址。