首页 > 解决方案 > 无法在同一网络上访问 Cassandra

问题描述

我正在尝试在 Azure VM 上运行 Spark Cassandra Kafka 集成演示。我确实在本地运行了演示,我得到了结果。当我尝试连接到 Cassandra VM 时,出现以下错误:

尝试查询的所有主机都失败(尝试:/10.1.0.6:9042 (com.datastax.driver.core.exceptions.TransportException: [/10.1.0.6:9042] 无法连接))

我有 3 个(连接的)虚拟机在 CentOs 7 上运行,它们可以相互 ping 通。我已经禁用了他们的防火墙。我还在安全组中添加了入站端口。

这可能会有所帮助:当我使用 nmap 检查每台机器上的某些特定端口(例如 9042)时,它显示它在本地打开,但是当我检查其他地址端口时,它显示它们已关闭。

版本信息:spark-version:2.3.1 Scala-version:2.11.7 java-version:1.8.0_181 cqlsh:5.0.1 | 卡桑德拉 3.9.0 | CQL 规范 3.4.2

标签: azurecassandraazure-virtual-machineazure-virtual-network

解决方案


首先,同一 Vnet 中的 Azure VM 可以相互访问。您已经通过相互 ping 进行了检查。

您可以按照以下步骤进行检查:

  1. 如果允许所有 VM 的端口 9042 的流量,请检查安全规则。
  2. 检查服务是否监听 9042 端口,是否可以在本地访问。
  3. 检查防火墙是否允许来自端口 9042 的流量。

如果您不介意,您可以在测试连接时将 NSG 与 VM 的网络接口分离,只保留与子网关联的 NSG。


推荐阅读