我刚刚开始探索在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/