Hi all,
My understanding was that when recovering shards after a node restart only
those documents that have changed in the meantime should need to be synced
from other nodes. In restarting a single node with about 600 GB of data I
am seeing all of the shards getting pulled from other nodes. For instance
in my log I see:
[global-0-10m-15m][3] recovery completed from
[es3.xyz][XLPPfw8yTE2GRs-TWAbkkw][inet[/76.74.248.158:9300]]{dc=sat,
parity=1, master=false}, took[12.6m]#012 phase1: recovered_files [399]
with total_size of [42.2gb], took [12.4m], throttling_wait [0s]#012
: reusing_files [0] with total_size of [0b]#012 phase2: start took
[642ms]#012 : recovered [3459] transaction log operations, took
[10.2s]#012 phase3: recovered [401] transaction log operations, took
[226ms]
Config:
- ES 0.90.2
- fairly beefy machines: SSD, 96GB RAM, 1 Gbit links.
- 100s of index ops per second. I'm not disabling indexing, but the clients
stop sending to the restarting node once it can no longer be accessed. - index templates for creating the indices
- refresh interval: 60s
Node restart procedure:
curl -XPUT "http://:9200$s/_cluster/settings" -d '{ "persistent" : {
"cluster.routing.allocation.disable_allocation" : true } }'
curl -XPUT "http://:9200$s/_cluster/settings" -d '{ "persistent" : {
"indices.recovery.max_bytes_per_sec" : "80mb" } }'
curl -XPOST "http://:9200$s/_cluster/nodes/_local/_shutdown"
while [[ curl --write-out %{http_code} --silent --output /dev/null "http://${s}:9200"
!= 200 ]]
do
sleep 1s
done
curl -XPUT "http://:9200$s/_cluster/settings" -d '{ "persistent" : {
"cluster.routing.allocation.disable_allocation" : false } }'
while [[ curl --silent -XGET "http://${s}:9200/_cluster/health"
!=
"green" ]]
do
sleep 1s
done
Is there an operation I need to do on the node to ensure that the node will
shutdown in a state where the shards will only need to sync the transaction
logs from the other nodes rather than the whole shard?
Thanks
-Greg
--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.