我刚刚开始探索在ScyllaDB中用于我们的应用程序。我可以在本地docker中启动scylla。问题是我无法从python应用程序连接到其中任何一个。我是否需要更改任何scylla.yaml属性?

$ docker exec -it scylla1 nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address     Load       Tokens       Owns    Host ID                               Rack
UN  172.17.0.3  148.85 KB  256          ?       a93f8715-ff4c-43f4-8ee3-f28f936aa842  rack1
UN  172.17.0.2  158.58 KB  256          ?       c34446ca-4b11-48a6-b329-db73fd22e059  rack1
UN  172.17.0.4  146.81 KB  256          ?       4b13b043-3422-4589-b829-c26a48e7fb6e  rack1
Python应用程式:
class App:
    def __init__(self):
        self.cluster = Cluster(contact_points=["scylla1", "scylla2", "scylla3"])
        # self.cluster = Cluster(contact_points=["172.17.0.2", "172.17.0.3", "172.17.0.4"])
        self.session = self.cluster.connect(keyspace="catalog")
        self.session.default_consistency_level = ConsistencyLevel.QUORUM



if __name__ == "__main__":
    app = App()

最佳答案

可能是因为您运行的容器没有端口映射。添加-p 9042:9042,您将可以访问它。始终检查telnet或cqlsh

关于docker - 问题是我无法从python应用程序连接到scylla节点。我是否需要更改任何scylla.yaml属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64012183/

10-12 17:32