Cassandra端口使用情况-如何使用端口?


96

在尝试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如何使用列出的每个端口?


13
亚当斯:谢谢小费!大概是这样,但是为了将来Cassandra用户在Stackoverflow上使用(不断增长的人口!)我认为也将答案存储在这里是
一件好事

Answers:


131

@Schildmeijer基本正确,但是在使用TLS加密节点间通信时仍使用端口7001

因此,我的完整列表是针对Cassandra的当前版本的:

  • 7199-JMX(之前为8080,Cassandra为0.8.xx)
  • 7000-节点间通信(如果启用了TLS,则不使用)
  • 7001-TLS节点间通信(如果启用了TLS,则使用)
  • 9160-Thrift客户端API
  • 9042-CQL本机运输端口


44

对于Apache Cassandra 2.0,您需要考虑以下TCP端口:(请参阅EC2安全组配置和Apache Cassandra FAQ

卡桑德拉

  • 7199 JMX监控端口
  • 1024-65355 JMX需要随机端口。从Java 7u4开始,可以使用com.sun.management.jmxremote.rmi.port属性指定特定端口。
  • 7000节点间群集
  • 7001 SSL节点间群集
  • 9042 CQL本机传输端口
  • 9160节俭

DataStax OpsCenter

  • 61620 opscenterd守护程序
  • 61621代理
  • 8888网站

建筑

EC2上的Cassandra + OpsCenter可能的架构如下所示: 带有OpsCenter的AWS EC2


35

8080-JMX(远程)

8888-远程调试器(在0.6.0中已删除)

7000-由Cassandra内部使用
(7001-已过时,在0.6.0中删除。用于会员交流,又称八卦)

9160-Thrift客户端API

Cassandra常见问题解答Cassandra使用哪些端口?


7

JMX现在使用端口7199而不是端口8080(从Cassandra 0.8.xx开始)。

这可以在cassandra-env.sh文件中配置,但默认值为7199。


5

端口57311和57312是用于RMI通信的随机分配的端口。每次启动Cassandra时,这些端口都会更改,但需要在防火墙中与8080/7199(取决于版本)一起打开,以允许远程JMX访问。似乎没有什么特别有据可查的东西,但过去使我震惊。


1
对于后代,应从此票证开始,从Cassandra 2.0.8起修复此烦恼。cassandra-env.sh现在,默认值将com.sun.management.jmxremote.rmi.port属性设置为与主JMX端口相同的值,以便不使用随机端口。
ches 2014年

0

除了上述答案之外,作为配置防火墙的一部分,如果您使用的是SSH,则请使用端口22。


0

我使用以下步骤解决了问题:

  1. 停止卡桑达拉服务

    sudo su -
    systemctl stop datastax-agent
    systemctl stop opscenterd
    systemctl stop app-dse
    
  2. 进行备份并将端口从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
    
  3. 启动Cassandra服务

    systemctl start datastax-agent
    systemctl start opscenterd
    systemctl start app-dse
    
  4. 创建cqlshrc文件。

    vi  /root/.cassandra/cqlshrc
    
    [connection]
    hostname = 198.168.1.100
    port = 9035
    

谢谢,Mahesh

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.