我执行这个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>
这是基于以下说明:https://www.datastax.com/blog/2019/03/running-dse-microsoft-windows-using-docker
1条答案
按热度按时间y53ybaqx1#
而不是
127.0.0.1:9092
或者localhost:9042
您需要指定my-dse:9042
或者your_machine_ip:9042
. 主要问题是,对于每个docker映像,localhost都是该容器的uniq,而在studio容器中,没有dse进程监听端口9042