java - 大批量插入期间的 Cassandra DataStax Driver NoHostAvailableException

标签 java cassandra datastax-java-driver

我有一个 Cassandra 的单节点实例。我一直在使用批处理语句在 Java 中使用 datastax 驱动程序向其中插入大量数据。

在插入期间的某个时间点后,我看到了 NoHostAvailableException,但是我仍然可以通过 cql 连接到节点并执行语句。 Cassandra 日志警告我批处理太大,当我将大小降低到建议的级别时,我仍然遇到相同的错误,并且 Cassandra 日志文件中似乎没有其他错误。

以前有没有人遇到过这个错误,我觉得 cassandra.yaml 中有一些我遗漏的东西。

最佳答案

我遇到的问题与您遇到的问题非常相似,并在此处解决:Cassandra cluster with bad insert performance and insert stability .

最根本的解决方案是您只是让您的节点过载,而且有争议的是,批量插入并不比异步插入快。当然,您应该使用一些技术来限制您的异步插入。另外,请确保您的网络可以支持您的插入。我连接到一个低功率交换机,当我将路由更改为连接我的服务器(离我有几个房间)时,大约一半的问题都消失了。

如果没有帮助,您应该使用多个节点,具体取决于您的插入率。

关于java - 大批量插入期间的 Cassandra DataStax Driver NoHostAvailableException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29076352/

相关文章:

java - 使用 apache camel 创建休息服务时出错

php - 是否有任何 IDE 或 GUI 可用于使用 PHP 处理 CASSANDRA DATABASE?

cassandra - Cassandra 中批处理语句的替代方案,用于原子操作以避免性能影响

cassandra - Cassandra 中的表是否共享分区 ("low level rows")?

cassandra - Cassandra 中的 IN-Operator 中的参数数量是否有限?

cassandra - Datastax 驱动程序映射 按 ASC/DESC 排序

java - dockerBuild 失败导致不支持的类文件主要版本 61 错误

java - 使用 selenium webdriver 打开本地 HTML 文件

java - 如何使用Java程序在Windows中运行Docker命令?

java - NoHostAvailableException::Java 到 Cassandra SSL 集群连接失败