【问题标题】:Connection to container of DataStax Distribution of Apache Cassandra连接到 Apache Cassandra 的 DataStax Distribution 的容器
【发布时间】:2020-01-30 12:47:21
【问题描述】:

我创建了 Apache Cassandra (DDAC) 的 DataStax Distribution 的 Docker 容器:

docker pull datastax/ddac
docker run -e DS_LICENSE=accept --name ddac -d datastax/ddac

docker ps


通过 Datastax DevCenter 连接到节点时出现错误:

尝试通过 7000 和 7199 端口连接时出现相同的错误。


如何连接部署在 docker 容器中的 DDAC 节点?


更新

为了以防万一,我禁用了 Windows 防火墙。 使用docker run -e DS_LICENSE=accept --name ddac -p 9042:9042 -d datastax/ddac 得到同样的错误:

无法访问指定的主机。已尝试的所有主机 查询失败(尝试:localhost/0:0:0:0:0:0:0:1:9042 (com.datastax.driver.core.exceptions.TransportException: [localhost/0:0:0:0:0:0:0:1] 频道已关闭), 本地主机/127.0.0.1:9042 (com.datastax.driver.core.exceptions.TransportException: [localhost/127.0.0.1] 频道已关闭))
[localhost/0:0:0:0:0:0:0:1] 频道已关闭
[localhost/127.0.0.1] 频道已关闭

【问题讨论】:

  • 这是另一个错误 - 现在 DDAC 已正确公开...我认为 DevCenter 与较新的 Cassandra 版本不兼容 - 它不再维护。

标签: cassandra nosql datastax


【解决方案1】:

这是因为容器有自己的 IP,您需要连接到它 - 您可以使用

获取容器的 IP
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ddac

或在主机上公开 Cassandra 端口,以便您可以通过 localhost 进行连接 - 这是通过 docker run-p 标志完成的:

docker run -e DS_LICENSE=accept --name ddac --rm -p 9042:9042 -d datastax/ddac

【讨论】:

    猜你喜欢
    • 2015-05-21
    • 2016-08-11
    • 2019-10-14
    • 2023-03-10
    • 2016-01-19
    • 2018-08-04
    • 2017-07-16
    • 2016-02-04
    • 2017-03-04
    相关资源
    最近更新 更多