Cassandra 为什么连接经常超时

Cassandra 为什么连接经常超时,cassandra,datastax,cassandra-3.0,Cassandra,Datastax,Cassandra 3.0,作为对这一问题的后续行动: 我想了解我得到的请求超时错误,如果我在服务器日志中看到,我只得到以下错误 ERROR [SharedPool-Worker-34] 2018-06-01 10:40:36,589 ErrorMessage.java:338 - Unexpected exception during request java.lang.RuntimeException: org.apache.cassandra.exceptions.ReadTimeoutException: Oper

作为对这一问题的后续行动:

我想了解我得到的
请求超时
错误,如果我在服务器日志中看到,我只得到以下错误

ERROR [SharedPool-Worker-34] 2018-06-01 10:40:36,589 ErrorMessage.java:338 - Unexpected exception during request
java.lang.RuntimeException: org.apache.cassandra.exceptions.ReadTimeoutException: Operation timed out - received only 0 responses.
        at org.apache.cassandra.auth.CassandraRoleManager.getRole(CassandraRoleManager.java:489) ~[apache-cassandra-3.0.8.jar:3.0.8]
        at org.apache.cassandra.auth.CassandraRoleManager.getRoles(CassandraRoleManager.java:269) ~[apache-cassandra-3.0.8.jar:3.0.8]
        at org.apache.cassandra.auth.RolesCache.getRoles(RolesCache.java:66) ~[apache-cassandra-3.0.8.jar:3.0.8]
        at org.apache.cassandra.auth.Roles.hasSuperuserStatus(Roles.java:51) ~[apache-cassandra-3.0.8.jar:3.0.8]
        at org.apache.cassandra.auth.AuthenticatedUser.isSuper(AuthenticatedUser.java:71) ~[apache-cassandra-3.0.8.jar:3.0.8]

我知道我没有在cassandra.yaml中启用身份验证和授权缓存,但我仍然有人能解释为什么我经常出现这个错误吗?在cassandra中这是一个代价高昂的性能操作吗?

如果您使用默认的cassandra用户,这是一个正常的仲裁查询,任何其他用户都应该使用本地用户。所以在“运营成本”方面并没有什么异常。但如果出现错误消息(具体来说,这一部分是:“操作超时-仅收到0个响应”),则意味着您可能有过载的节点无法响应您的查询

使用nodetool tpstats快速查看您的节点将显示您是否在为读取服务时遇到问题(查找阻塞的所有时间阻塞的和/或丢弃的读取)

Auth查询在您执行的每个查询中都会完成(AFAIK),因此您应该为它们启用缓存(并避免集群过载)

相关文件: