微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法连接到在docker中运行的本地datastax cassandra

如何解决无法连接到在docker中运行的本地datastax cassandra

我执行了这个docker命令来运行datastax cassandra实例:

docker run -p 9042:9042 -e DS_LICENSE=accept --rm --name my-dse -d datastax/dse-server:6.8.2 -s

然后运行datastax Studio的实例:

docker run -e DS_LICENSE=accept --link my-dse --name my-studio -p 9091:9091 -d datastax/dse-studio

当我在http://localhost:9091上打开浏览器以创建连接时,出现此错误

All host(s) tried for query Failed (tried: /127.0.0.1:9042 (com.datastax.driver.core.exceptions.TransportException: [/127.0.0.1:9042] Cannot connect))

我检查了在docker中运行的cassandra实例,可以使用cqlsh进行连接:

$ docker exec -it my-dse bash -c "cqlsh -u cassandra -p cassandra"
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 6.8.0 | DSE 6.8.2 | CQL spec 3.4.5 | DSE protocol v2]
Use HELP for help.
cassandra@cqlsh> 

这是基于此处的说明: Git - reverting a revert,conflicts

解决方法

您需要指定127.0.0.1:9092localhost:9042而不是my-dse:9042your_machine_ip:9042。主要问题是,对于每个Docker映像,本地主机都对该容器具有唯一性,并且在Studio容器中,没有DSE进程在端口9042上进行侦听

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。