java - NoNodeAvailableException:没有节点可用于执行查询
问题描述
我没有使用 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。我的所有节点都已启动并正在运行,我可以在后端很好地执行操作。
解决方案
更改.withLocalDatacenter("us-east-2")
并重.withLocalDatacenter("datacenter1")
试。
推荐阅读
- node.js - Node.js flash 任务栏图标?
- python-behave - 在 PyBehave 中使用示例时,您可以在一个步骤中将它们输入到表格中吗?
- c++ - 链接器在包含目录中找不到实现
- django - django中数据库存储vlaues中的IntegrityError?
- python - 在 AWS Elasticbeanstalk 中执行 python 入口点命令时如何包含命令?
- domain-driven-design - 此图是否遵循微服务、带有事件溯源的 DDD
- reactjs - Redux 不更新数组
- git - 如何使用不同的用户名克隆 AWS CodeCommit 存储库?
- java - 从服务器下载大(1gb)文件导致请求超时
- javascript - discord.js - 通过反应赋予角色 - 返回值问题