We are using clustered environment with multiple indexers and single Search head. I want to upload a file which needs to be indexed in all the indexers. Where should I upload it SearchHead or Cluster Master to reflect in all the indexers?
I would recommend you upload form the search head, but you need to ensure you confirm that the search head is configured with an ouputs.conf and is forwarding to the indexers. It is best practice, that all your splunk instances other than indexers* have a outputs.conf and forward their logs or any data uploaded to the indexers.
You can read the following article and think of your search head as a "Heavy Forwarder":
http://docs.splunk.com/Documentation/Splunk/6.6.2/Forwarding/Deployaheavyforwarder
As long as you have an outputs.conf on the search head, uploading form there will be fine.
Now, when you upload the file, it will be sent to ONE indexer, indexed, and replicated based on your Replication Factor/Search Factor in the cluster.
When you say "all indexers", do really mean every single indexer? Are we talking about a file that needs to be indexed? or a file that needs to be provided to each indexer...Because if it's the later, you simply need to send the file to the indexers in an app from the Cluster Master by pushing a cluster bundle.
http://docs.splunk.com/Documentation/Splunk/6.6.2/Indexer/Updatepeerconfigurations
I want to upload a file that needs to be indexed and make sure it available in all the indexers as we are using clustered environment.
We have a cluster of 3 Search Heads. Does the same still apply. Do we load the file to one of the 3 and index from there?
The follow the first part of my answer above and add the data from the Search Head.
The Cluster will ensure the data is replicated accordingly.