我正在使用东西板(在docker上),但我还希望能够连接到东西板docker上的cassandra。我想要的是检查表结构和数据本身。
从reference installing thingboard on docker运行起,没有任何-p 9042:9042配置。
因此,我已将其添加到docker run命令(例如,docker run -p 9090:9090 -p 1883:1883 -p 9042:9042 -p 5683:5683 / udp -v / Thingsboard / .mytb-data:/ data .....)。但是,我无法将9042上的telnet事件发送到我的主主机。
然后,我在thingboard docker(/ etc / cassandra)中检查了cassandra配置文件。我发现 rpc_address 的值为localhost,并且 broadcast_rpc_address 没有任何行。我不确定应该输入什么配置文件,因为它是docker容器。
这是我的端口设置(我在下面添加了屏幕截图):
0.0.0.0:1883->1883/tcp, 0.0.0.0:9042->9042/tcp, 0.0.0.0:9090->9090/tcp, 0.0.0.0:5683->5683/udp
CONTAINER ID -> ac2b6e2316a7
IMAGE -> thingsboard/tb-cassandra
COMMAND -> "start-tb.sh"
PORTS -> 0.0.0.0:1883->1883/tcp, 0.0.0.0:9042->9042/tcp, 0.0.0.0:9090->9090/tcp, 0.0.0.0:5683->5683/udp
谢谢
答案 0 :(得分:0)
根据 thingsboard / tb-cassandra 的Dockerfile,Cassandra在默认配置下运行,并在localhost
上监听。这就是为什么它不接受来自Docker主机的任何连接的原因。
要通过cqlsh
连接到Cassandra,您需要使用以下命令登录到容器:
docker exec -it <container_id> /bin/bash
然后您可以通过发出cqlsh
命令来连接到Cassandra。