我在ec2中运行一个26节点集群,分布在4个地区 - us-east-1,us-west-2,eu-west-1和ap-southeast-1。我注意到有时候节点需要很长时间才能启动,而且问题似乎在ap-southeast-1中特别糟糕。例如,今天只需重新启动节点就需要4个多小时。发生这种情况时,cassandra(system.log)记录的最后一件事是:
INFO [main] 2016-10-19 20:35:14,846 ColumnFamilyStore.java:395 - Initializing system_schema.indexes
最终它继续初始化我自己的列族,但我不明白这么长时间。该特定节点上有大约900G的数据,使用的是3.2T EBS卷。
虽然这种情况正在发生,但似乎资源争用很少。网络i / o似乎没有超过1Mb / s。数据卷和提交日志基本上都是0 i / o。 CPU使用率在25%-50%范围内。看strace
,似乎有大量的getdents
系统调用,但这似乎不会导致问题。
什么可以解释这么长的启动时间?