Issues related to java heap size

Hi, I am testing elasticsearch for using.
Recently, while I upload data, I find that the node will crash sometime and could not be recovered.
My document could have hundereds of fields, and I indexed every thing. Also the document format is flexible.
The size I upload is about 159,359 and now I have 8 nodes total, 2 are balancers and 6 data nodes.
Java memory is allocated for 2GB.
What I found is that it seems that the memory could not be released and continue being consumed until the node ran out of memory.

My configuration file is like this

-Des.index.cache.field.type=soft
-Des.index.cache.field.expire=10s
-Des.index.mapping.numeric_detection=true
-Des.index.merge.policy.max_merged_segment=5g
-Des.index.refresh_interval=10s
-Des.index.storage.type=niofs
-Des.index.store.compress.stored=true
-Des.index.store.compress.tv=true \

Also, I have a parent-child mapping relationship

And I think the most important problem is that once the node dies, it could never recover.....
So, Anyone could tell me the reasons might cause the problem?
Thank you in advance~