我没有使用Elasticsearch,而是在使用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。所有节点都正常运行,并且我可以在后端执行操作。
nodetool status
时,您的数据中心名称是什么? - Aaron