如何在docker上运行的thingboard中连接cassandra

nfg76nw0  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(566)

我正在使用thingsboard(在docker上),但我也希望能够连接到cassandra在thingboard docker上。我想要的是检查表结构和数据本身。
参考docker run上安装thingboard,没有任何-p 9042:9042配置。
因此,我将它添加到docker run命令中(例如docker run-p9090:9090-p1883:1883-p9042:9042-p5683:5683/udp-v/thingsboard/.mytb data:/data….)。但是,我无法将9042上的事件telnet发送到我的主主机。
然后,我检查了thingboard docker(/etc/cassandra)中的cassandra配置文件。我发现rpc\u address的值是localhost,广播rpc\u 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

docker上的端口运行
谢谢您

fcy6dtqo

fcy6dtqo1#

根据thingsboard/tb cassandra的dockerfile,cassandra在默认配置上运行,并监听 localhost . 这就是为什么它不接受来自docker主机的任何连接。
以便通过 cqlsh 您需要使用以下命令登录到容器: docker exec -it <container_id> /bin/bash 然后你可以通过发出 cqlsh 命令。

相关问题