嗨除了以下,
的 1.检查墓碑 强> 在cassandra中,逻辑删除降低了读取的性能,并且发生以下问题:OperationTimedOut:errors = {'127.0.0.1':'客户端请求超时。请参见Session.execute_async'},last_host = 127.0.0.1 的 注意 强> 当我们在列中使用空值插入数据时,它会创建一个逻辑删除。我们需要避免在表中插入null。 有多种选择可供选择 的 未设置 强> ( https://docs.datastax.com/en/latest-csharp-driver-api/html/T_Cassandra_Unset.htm )和 的 ignoreNulls 强> ( https://github.com/datastax/spark-cassandra-connector/blob/master/doc/5_saving.md )火花中的财产。 您可以使用以下命令检查表状态 nodetool tablestats keyspace1.tablename
的 2.删除墓碑 强> 如果您在单个节点上工作,则可以通过更改表来删除逻辑删除 ALTER表keyspace1.tablename WITH 的 gc_grace_seconds 强> ='0';
的 3.read_request_timeout_in_ms 强> :配置cassandra.yaml文件中的值以增加读取请求的超时
关于复制超时,正确的方法是使用已指向的PAGETIMEOUT参数。
使用PAGETIMEOUT = 10000将keypace.table复制到'/ dev / null';
尝试使用cqlsh设置--request-timeout = 6000在这种情况下无济于事。
目前尚不清楚你在这里使用哪个版本的Cassandra,所以我假设3.0.x
该 COPY 功能很好,但并不总是最好的选择(即如果你有很多数据),但是对于这个,你可能想要检查你的一些 超时设置 在卡桑德拉
COPY
这里的文档显示了一个 将PageTimeout 设置也可以帮助你。
在两个集群之间移动数据可以通过许多其他方式完成。您可以使用以下任何一项:
当然#3和#4需要DSE cassandra,但它只是为了给你一个想法。我不确定您是否使用Apache Cassandra或Datastax Enterprise Cassandra。
无论如何,希望这有帮助!