NoNodeAvailableException:没有节点可用于执行查询

问题描述 投票:0回答:1

我没有使用Elasticssearch。我正在尝试使用CQL在cassandra中执行一些数据库操作。我正在使用线程。运行代码时,一段时间后,我总是在线程中收到异常:com.datastax.oss.driver.api.core.NoNodeAvailableException:没有节点可用于执行查询。

我已经用一个线程进行了测试。错误仍然存​​在。这是我的代码:

InetAddress addrOne = InetAddress.getByName("52.15.195.41");
InetSocketAddress addrSocOne = new InetSocketAddress(addrOne,9042);
CqlSession sessionOne = CqlSession.builder().addContactPoint(addrSocOne).withLocalDatacenter("us-east-2").withKeyspace("test").build();

while(counter <= 100)
{
    String query = "select max(id) FROM samplequeue";
    ResultSet rs = session.execute(query);
    for (Row row : rs) 
    {
        int exS = row.getInt("system.max(id)");
    }
    counter++;
    Thread.sleep(50);
}

这是一个非常简单的修改后的示例,仅用于演示该问题。我无法解决。所有线程都退出并给出相同的异常。我在AWS上运行cassandra 3.11.4。我所有的节点都已启动并且正在运行,我可以在后端很好地执行操作。

java multithreading cassandra datastax
1个回答
0
投票

将.withLocalDatacenter(“ us-east-2”)更改为.withLocalDatacenter(“ datacenter1”),然后重试。

希望获得帮助。

© www.soinside.com 2019 - 2024. All rights reserved.