Elasticsearch cluster is not working properly

We are using clustered elasticsearch setup in our environment. We have a 4 nodes in a cluster. But, sometimes, every nodes acts as a separate cluster. Whenever i tried to run [elasticsearchnode]/_cat/nodes?v. Everytime gives different node name as output. After that, we restarted the elasticsearch services. Now, it seems to be joined into the cluster but elasticsearch logs, we are seeing "Caused by: org.elasticsearch.common.util.concurrent.EsRejectedExecutionException: rejected execution (queue capacity 100) on org.elasticsearch.transport.netty.MessageChannelHandler$RequestHandler@7db74275". Tried with setting threadpool configuration and unicast configuration. Did not works still.

Elasticsearch version: 1.3.3

Upgrade ASAP, this is a very outdated version.

What do your settings on each node look like?

Please find elasticsearch.yml configuration file,

MANAGED BY PUPPET


bootstrap:
mlockall: true
cloud:
aws:
region: us-east-1
cluster:
name:
discovery:
ec2:
tag:
aws:cloudformation:logical-id: loggingsearchmanagerAutoScalingGroup
type: ec2
index:
number_of_replicas: 1
number_of_shards: 20
logging_defaults:
action: ERROR
path:
data: /mnt/elasticsearch
logs: /var/log/elasticsearch
repositories:
s3:
base_path: /backups/elasticsearch/
bucket:
chunk_size: 100m
compress: true
concurrent_streams: 10

You need to upgrade, urgently.
Then read this chapter of the Definitive Guide - https://www.elastic.co/guide/en/elasticsearch/guide/current/deploy.html