I reverted the configuration of 2 indexer instances, because I didn't find the root cause.
However, Later I found that there were multiple processes running behind. That might be the root cause. But I didn't tried it again.
I have shipper and indexer in one instance as @warkolm mentioned. I was testing out logstash with Redis and wrote 2 configuration files. conf1 --> file input and Redis output, conf2 --> Redis input and Elasticsearch output.
I want to know why keeping multiple configuration files in /etc/logstash/conf directory duplicates events. Say, If I use different instances, one for indexer and another for shipper, this duplication doesn't happen. Also, if I ran logstash with just conf1 file and then ran logstash again with conf2 file, there was no duplication.