在试验 Cassandra 时,我观察到 Cassandra 监听以下端口:
- TCP *:8080
- TCP *:8888
- TCP *:57311
- TCP *:57312
- TCP 127.0.0.1:7000
- TCP 127.0.0.1:9160
- UDP 127.0.0.1:700
Cassandra 如何使用列出的每个端口?
@Schildmeijer 基本上是正确的,但是在使用TLS 加密节点间通信时仍然使用端口 7001
所以我的完整列表是针对当前版本的 Cassandra:
对于 Apache Cassandra 2.0,您需要考虑以下TCP端口:(请参阅EC2 安全组配置和Apache Cassandra 常见问题解答)
com.sun.management.jmxremote.rmi.port
属性指定特定端口。在 EC2 上使用 Cassandra + OpsCenter 的可能架构如下所示:
8080 - JMX(远程)
8888 - 远程调试器(在 0.6.0 中删除)
7000 - Cassandra 内部使用
(7001 - 已过时,在 0.6.0 中删除。用于成员通信,也就是八卦)
9160 - Thrift 客户端 API
Cassandra 常见问题解答Cassandra 使用哪些端口?
JMX now uses port 7199 instead of port 8080 (as of Cassandra 0.8.xx).
This is configurable in your cassandra-env.sh file, but the default is 7199.
端口 57311 和 57312 是随机分配的端口,用于 RMI 通信。这些端口在 Cassandra 每次启动时都会更改,但需要在防火墙中打开,以及 8080/7199(取决于版本),以允许远程 JMX 访问。一些似乎没有特别好的记录,但过去让我绊倒的东西。
我使用以下步骤解决了问题:
停止 cassandara 服务
sudo su -
systemctl stop datastax-agent
systemctl stop opscenterd
systemctl stop app-dse
备份并将端口从 9042 更改为 9035
cp /opt/dse/resources/cassandra/conf/cassandra.yaml /opt/dse/resources/cassandra/conf/bkp_cassandra.yaml
Vi /opt/dse/resources/cassandra/conf/cassandra.yaml
native_transport_port: 9035
启动 Cassandra 服务
systemctl start datastax-agent
systemctl start opscenterd
systemctl start app-dse
创建 cqlshrc 文件。
vi /root/.cassandra/cqlshrc
[connection]
hostname = 198.168.1.100
port = 9035
谢谢, 马赫什
除了上述答案之外,作为配置防火墙的一部分,如果您使用 SSH,则使用端口 22。