Cassandra:协调器节点超时等待副本节点的响应 [英] Cassandra: Coordinator node timed out waiting for replica nodes' responses

查看:1206
本文介绍了Cassandra:协调器节点超时等待副本节点的响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用COPY从CSV导入大约400万行。 90分钟进程,我得到以下错误,这表明在等待副本节点的一些问题。 Keyspace设置为复制因子为1,并且集群中只有一个节点。那么为什么协调器必须等待任何其他节点?

I was importing about 4 million rows from CSV using COPY. 90 minutes into the process, I got the following error which suggests some problem in waiting for replica nodes. The Keyspace is setup with replication factor of 1 and there is only one node in the cluster. So why does the coordinator have to wait for any other node?

Processed 4050000 rows; Write: 624.27 rows/ss
code=1100 [Coordinator node timed out waiting for replica nodes' responses] message="Operation timed out - received only 0 responses." info=

{'received_responses': 0, 'required_responses': 1, 'write_type': 0, 'consistency': 1}
Aborting import at record #4050617. Previously-inserted values still present.
4050671 rows imported in 1 hour, 26 minutes, and 43.649 seconds.

我已经看到这个问题:
协调器节点超时等待Cassandra Datastax中的复制节点插入数据

I have already seen this question: Coordinator node timed out waiting for replica nodes in Cassandra Datastax while insert data

但这没有回答为什么当复制因子为1并且它是1个节点集群时,协调器期望副本节点存在。

But that does not answer why would a coordinator expect replica nodes to be present when the replication factor is 1 and it is a 1 node cluster.

更多信息:

节点状态

student@cascor:~$ nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens  Owns    Host ID                               Rack
UN  127.0.0.1  1.64 GB    256     ?       f550e955-00f3-49a4-bc2d-c7f775079359  rack1

Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless

Keyspace config

The Keyspace config

cqlsh:excelsior> desc keyspace;

CREATE KEYSPACE excelsior WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'}  AND durable_writes = true;


推荐答案

解释一下:
'received_responses' :0,'required_responses':1
所以u有一个节点,但它工作作为u有很多。所以它不能响应。并且因为写操作需要时间,当u导入这么多数据在一个去杀死CPU和写操作需要更长的时间,所以获取超时,并且节点响应我不保存这个数据所以有1个节点没有响应u得到这个错误。
我有同样的问题,并改变这个(write_request_timeout_in_ms)帮助我,我做COPY导入数百万的记录。

Is explain it: 'received_responses': 0, 'required_responses': 1 so u have one node, but it working as u have many. So it can not respond. And it because writing operation need time, when u import so many data in one go it kill CPU and write operation take longer time, so get time out, and node respond "i not save this data" so having 1 node make none respond so u get this error. I had same problem, and changing this (write_request_timeout_in_ms) help me, i to do COPY import of millions of record.

这篇关于Cassandra:协调器节点超时等待副本节点的响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆