You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Datastax Cassandra驱动3.1.4版本IPv6连接失败及兼容性咨询

Datastax Cassandra Driver 3.1.4是否支持IPv6?

Datastax Cassandra Driver 3.1.4版本完全支持IPv6,你遇到的连接失败问题并非驱动不支持IPv6,而是连接配置或网络层面存在问题。

问题分析

从错误日志可以看到,驱动尝试连接的地址格式为/2600:xxxx:2500:yyyy:zzzz:qwq:1143:6a0d:9042——这里的问题是IPv6地址与端口直接拼接,不符合IPv6地址的端口表示规范(正确格式应为[IPv6地址]:端口),这可能是驱动解析地址时出现异常的原因之一。

必要前提检查

  • 网络连通性:确保客户端机器支持IPv6,且能通过IPv6网络访问目标Cassandra节点。可以通过ping6 2600:xxxx:2500:yyyy:zzzz:qwq:1143:6a0d测试连通性,或用telnet [2600:xxxx:2500:yyyy:zzzz:qwq:1143:6a0d] 9042验证端口是否开放。
  • Cassandra节点配置:确认节点的listen_address和rpc_address已配置为正确的IPv6地址(或设为::监听所有IPv6地址),同时native_transport_port保持默认的9042,且防火墙规则允许IPv6下的9042端口访问。

代码调整建议

可以改用addContactPointsWithPorts方法明确指定IPv6地址和端口,避免地址解析错误:

@Bean
public Cluster cluster() {
    return Cluster.builder()
        .addContactPointsWithPorts(Collections.singletonList(
            new InetSocketAddress("2600:xxxx:2500:yyyy:zzzz:qwq:1143:6a0d", 9042)
        ))
        .withRetryPolicy(DefaultRetryPolicy.INSTANCE)
        .withQueryOptions(getQueryOptions())
        .withPoolingOptions(getPoolingOptions())
        .withLoadBalancingPolicy(new TokenAwarePolicy(DCAwareRoundRobinPolicy.builder().build()))
        .withCredentials(environment.getProperty("cassandra.username"), environment.getProperty("cassandra.password"))
        .build();
}

内容的提问来源于stack exchange,提问作者mehmet emin çukur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 15:52:44