I did a rolling restart freezing the cluster then restarting, but afterwards it has been rebalancing for over 24 hours. where it was stable prior to the restart
So some details
I have 9 data nodes, with about 3000 shards ( 6 indexes aday ) with over 800GB and receiving 10K new messages aver second. (3 master and 2 client nodes as well)
HEAP SIze 30GB, and each server has 16 to 24 CPU's 90GB Ram, With a 10GB Network and a 4TB lun spead over +40 Disks.
So I am wondering, if I should tweak the rebalancing thresh-hold , I have already tweaked the speed of the recovery
My load average is about 3, and IO wait is constant around 5% which is that during a stable time, and there is no more then a 1 or 2 IO Queue so does not look like any issues.
If the shard is allocate to a different node, the whole shard needs to be recovered.
ie. if the shard size is 1T, than 1T data is recovered from the primary shard.
It's too much slow for me. Especially when rolling restart.
And if i allocate it to the original one, the recovery is fast. Only a small part of the shard needs to be recovery.
No my shards are like 10 to 20GB , that is an interesting idea to manually rebalance them but I think that is too much work. IMH
I tried a cluster_concurrent_rebalance the system becomes pretty bogged down.
@warkolm Warkolm, maybe I should think of it in a different way, it is not the number of shards recover which is my problem but the size of them? I mean my indexes are at 24, and not really seeing any CPU problems. Should I maybe go 50 or 100. Of course this is a production cluster so I would have to set up some kind of test but what do you think?
I agree, shards at 1TB is way to large. your search times must be painfully slow @chenjinyuan87
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.