我必须读取大量要写入另一个表的表条目 . 因此,我编写了一个java scala程序,它使用rdd扫描源表并在目标表中写入每个条目 . 该程序提交到一个火花集群,该集群连接到位于亚马逊的cassandra集群,具有以下设置:

  • Spark集群有一个主服务器和四个从服务器,每个服务器有8个内核和16GB内存

  • cassandra集群有三个节点,每个节点有8个核心,32gb ram,标准hdds产生源和目标表,sdd用于提交日志 .

密钥集由三个cassandra节点分布,这意味着该集群不具有容错能力 . 在前8-16小时内一切正常,资源使用似乎并不表示cassandra可能超负荷(至少不是一开始,不确定一夜之间) .

不幸的是,几个小时后,一个节点以不一致的架构版本结束,因此集群失败 . 我正在尝试确定导致这种情况发生的可能原因,欢迎提出任何建议!

感谢您的时间


根据要求提供更多配置细节

concurrent_compactors:默认值(磁盘数量或内核数量较少,每个CPU内核最少2个,最多8个)

compaction_throughput_mb_per_sec:默认(16)

压缩策略:默认(大小分层压缩策略)