如何解决无法连接到在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:9092
或localhost:9042
而不是my-dse:9042
或your_machine_ip:9042
。主要问题是,对于每个Docker映像,本地主机都对该容器具有唯一性,并且在Studio容器中,没有DSE进程在端口9042上进行侦听
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。