节前将oracle数据迁移到cassandra后,查询表的总记录数(千万级以上),总会报超时错误,找了下相关资料,须要更改配置文件里的相关超时参数。node
cqlsh:spacewalk> select count(*) from rhnpackagecapability; ReadTimeout: Error from server: code=1200 [Coordinator node timed out waiting for replica nodes' responses] message="Operation timed out - received only 1 responses." info={'received_responses': 1, 'required_responses': 1, 'consistency': 'ONE'} cqlsh:spacewalk> exit
遇到此报错,只需增长如下几个参数的值:oracle
[root@db03 ~]# vi /etc/cassandra/default.conf/cassandra.yaml read_request_timeout_in_ms: 600000 range_request_timeout_in_ms: 600000 slow_query_log_timeout_in_ms: 600000 [root@db03 ~]# systemctl restart cassandra
修改完成后,重启cassandra服务。再次查询,结果以下图:ide
系统默认的客户端请求时间是10秒,若是遇到此报错,需增长客户端请求超时。以下:优化
[root@db03 ~]# vi .cassandra/cqlshrc ... [connection] request_timeout = 600 ....
后续遇到相似错误还会继续更新此博文。ui