我们目前正在2个大型EC2实例上使用2个cassandra节点的集群。它们每个都有大约65G的使用数据。 (Dev和Production的设置相同)。
我们遇到的问题是在写入生产期间 - CPU负载变为40 +(2核心机器),最终机器变得不可用并需要重新启动。我尝试了多种“调整策略”,例如减少总记忆空间,改变年轻一代的伊甸园空间与生存空间的比率,将较大的物体直接从伊甸园空间复制到老一代,优化压缩以更频繁地运行,使用更小的# sstables(我注意到在崩溃期间磁盘利用率几乎没有,所以我试图减轻内存使用量。)
看看cassandra system.log,我无法看到任何错误或警告。 崩溃期间只显示的是StatusLogger输出。
如果我在开发群集上运行写入,一切运行顺利 - 没有错误,加载最大为1.5-2。 如果我重新启动2个生产实例,我可以在崩溃发生之前运行读写一段时间,否则如果机器已经运行了2天以上,则会在几分钟内发生崩溃。
任何建议,想法都将受到高度赞赏。
谢谢
答案 0 :(得分:0)