用户多次问我,为什么 Cassandra 4.0 中的某些配置属性conf/cassandra.yaml
在 4.1 中不再存在。
例如,启用实验性 SASI 功能的标志:
enable_sasi_indexes: false
这些财产去哪儿了?
用户多次问我,为什么 Cassandra 4.0 中的某些配置属性conf/cassandra.yaml
在 4.1 中不再存在。
例如,启用实验性 SASI 功能的标志:
enable_sasi_indexes: false
这些财产去哪儿了?
节点似乎比运行 Cassandra 2.1 时使用了更多的内存。
当节点升级到较新版本的 Cassandra 时,服务器上的内存利用率突然飙升,一些节点报告内存不足错误。是什么导致了这种现象?
DBeaver Cassandra 驱动程序仅在专业版中可用。如果我使用社区版,如何连接到 Cassandra 集群?
一家企业正在运行一个连接到其开源 Cassandra 集群的[闭源]第三方应用程序。他们希望迁移到基于云的 Cassandra 即服务,但需要知道应用程序是否可以支持它。
他们如何确定应用程序正在使用的驱动程序版本?
最近有一些关于在 Cassandra 中使用物化视图 (MV) 的讨论。作为普通用户,很难判断使用MV是否是一个好主意。
对 MV 的建议是什么?是否有关于该主题的指导?
添加到 Cassandra 集群的新节点无法与种子节点进行八卦。
另一个症状是当一个已重启的现有节点无法与集群中的其他节点进行 gossip 时,在启动期间报告以下错误:
ERROR [main] 2019-08-15 18:46:32,241 CassandraDaemon.java:749 - Exception encountered during startup
java.lang.RuntimeException: Unable to gossip with any peers
at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1435) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:566) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:823) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:683) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.StorageService.initServer(StorageService.java:632) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:388) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:620) ~[apache-cassandra-3.11.4.jar:3.11.4]
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:732) ~[apache-cassandra-3.11.4.jar:3.11.4]
在某些情况下,其他节点能够将受影响的节点视为可操作的,但有问题的节点无法与其他节点进行八卦。以下是 的示例输出nodetool gossipinfo
:
/10.1.2.4
generation:0
heartbeat:0
/10.1.2.3
generation:0
heartbeat:0
/10.1.2.6
generation:1444263348
heartbeat:6232
...
DC:DC1
STATUS:NORMAL,-1041938454866204344
...
/10.1.2.5
generation:0
heartbeat:0
另一个症状是受影响的节点将另一个 DC 中的节点视为“关闭”(DN
或关闭/正常),如以下示例nodetool status
输出所示:
Datacenter: r1
==============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
DN 10.1.2.5 ? 256 9.0% 5279619a-550c-42b3-8150-61ad24f828f3 r1
DN 10.1.2.3 ? 256 9.1% 5d1fa459-cdac-4658-b68d-c6e0933afcee r1
DN 10.1.2.4 ? 256 10.5% a8f35c63-6a76-4e95-99f1-bef65d785366 r1
Datacenter: DC1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
UN 10.1.2.6 18.9 GB 256 9.5% 36fdcf57-0274-43b8-a501-c0e475e3e30b RAC1
大多数情况下运行的 Cassandra 集群有时会遇到服务中断,尤其是当一个(或多个)节点无法与集群中的其他节点进行八卦时。
一个症状是节点无缘无故地随机上升和下降。system.log
以下是节点的示例摘录:
INFO [GossipTasks:1] 2016-04-29 02:47:32,559 Gossiper.java:1001 - InetAddress /10.1.2.3 is now DOWN
INFO [GossipTasks:1] 2016-04-29 02:50:47,123 Gossiper.java:1001 - InetAddress /10.1.2.4 is now DOWN
INFO [GossipTasks:1] 2016-04-29 02:54:59,640 Gossiper.java:1001 - InetAddress /10.1.2.5 is now DOWN
INFO [SharedPool-Worker-2] 2016-04-29 03:01:23,828 Gossiper.java:987 - InetAddress /10.1.2.4 is now UP
INFO [SharedPool-Worker-1] 2016-04-29 03:01:59,432 Gossiper.java:987 - InetAddress /10.1.2.5 is now UP
INFO [SharedPool-Worker-7] 2016-04-29 03:02:01,839 Gossiper.java:987 - InetAddress /10.1.2.3 is now UP
nodetool status
同样,根据运行命令的节点,不同的节点在输出中似乎已关闭,例如:
Datacenter: Cassandra
=====================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns Host ID Rack
DN 10.1.2.3 8.97 GB 256 ? a50dfef5-229d-4d15-89d9-971bec01094b rack1
UN 10.1.2.5 8.9 GB 256 ? a16b71a2-9b95-4669-a6bd-d7326bd279e2 rack1
DN 10.1.2.4 9.09 GB 256 ? ac01b6f9-3cb9-47ff-83c6-0404836386eb rack1
UN 10.1.2.6 10.65 GB 256 ? 9c0ef3a2-aad7-4d06-b015-f32ddccac750 rack1
什么可能导致这个问题?
我想从Pentaho Data Integration(PDI 也称为“Spoon”,以前称为 KETTLE)连接到我的 Astra DB。如何配置 PDI?
我想从TablePlus(数据库 GUI 客户端)连接到我的Astra DB 。如何配置 TablePlus?
为什么 Cassandra 节点在低流量期间会在日志中报告超时?
system.log
on 节点报告节点之间或“ConnectTimeoutException
套接字关闭”错误。
Cassandra 运营商担心他们容易受到 CVE-2021-44521 中确定的漏洞的攻击。
运营商可以采取哪些措施来降低风险和暴露于漏洞的风险?
由于 CQL 不支持服务器端连接,客户端连接是否是一种解决方法?
如何将现有 Cassandra 集群中的应用程序表迁移到新集群?
新集群对源集群具有不同的拓扑和令牌分配。
这是想要将数据从一个集群迁移到另一个集群的 Cassandra 操作员的常见问题。
将 Cassandra 集群的快照还原到另一个具有相同配置的集群的过程是什么?
这个问题经常出现。对于那些不熟悉 Cassandra,尤其是数据建模的新手,有哪些工具可用?
Developer Studio 过去可以在 Astra Web UI 上使用,它提供了一个类似笔记本的界面来与数据库交互。
看起来它不再是 Astra Dashboard 的一部分。是否仍然可以使用 DataStax Studio 连接到 Astra DB?
在节点不断上升和下降的情况下(例如,由于 GC 导致暂时无响应),有没有办法限制为有问题的节点存储的提示,以防止提示文件的建立?
在配置防火墙访问列表(ACL)时,是否需要为 Cassandra 集群中的所有节点打开节点之间的 gossip 端口?
在某些情况下,操作员会在 Cassandra 日志中看到以下警告:
WARN ... Replica filtering protection has cached over 2000 rows during query \
[SELECT ... FROM ... WHERE ...]. (See 'cached_replica_rows_warn_threshold' in cassandra.yaml.)
或者在最坏的情况下,一个错误:
ERROR ... Replica filtering protection has cached over 32000 rows during query \
[SELECT ... FROM ... WHERE ...]. (See 'cached_replica_rows_fail_threshold' in cassandra.yaml.)
这些日志条目是什么意思?