在尝试使用Cassandra时,我发现Cassandra会监听以下端口:
Cassandra如何使用列出的每个端口?
答案 0 :(得分:116)
@Schildmeijer基本上是正确的,但是在使用TLS Encrypted Internode communication时仍然使用端口7001
所以我的完整列表将是当前版本的Cassandra:
答案 1 :(得分:42)
对于Apache Cassandra 2.0,您需要考虑以下 TCP 端口: (请参阅EC2 security group配置和Apache Cassandra FAQ)
com.sun.management.jmxremote.rmi.port
属性指定特定端口。在EC2上使用Cassandra + OpsCenter的可能架构可能如下所示:
答案 2 :(得分:33)
8080 - JMX(遥控)
8888 - 远程调试器(在0.6.0中删除)
7000 - Cassandra内部使用 (7001 - 已过时,在0.6.0中删除。用于会员通信,又称八卦)
9160 - Thrift客户端API
Cassandra常见问题What ports does Cassandra use?
答案 3 :(得分:6)
JMX现在使用端口7199而不是端口8080(从Cassandra 0.8.xx开始)。
这可在cassandra-env.sh文件中配置,但默认值为7199.
答案 4 :(得分:4)
端口57311和57312是随机分配的端口,用于RMI通信。每次Cassandra启动时这些端口都会更改,但需要在防火墙中打开,以及8080/7199(取决于版本),以允许远程JMX访问。有些东西似乎没有特别好记录,但过去曾让我感到沮丧。
答案 5 :(得分:0)
除上述答案外,作为配置防火墙的一部分,如果您使用的是SSH,请使用端口22。
答案 6 :(得分:0)
我使用以下步骤解决了问题:
停止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
谢谢, 马赫什