Is there any specific difference between Submitter and Cluster ? When I used LocalCluster it creates automatic yaml file. However, I want to set this yaml file with my own settings.
LocalCluster is intended for testing, and runs the Storm components (Nimbus, Supervisors and Workers) in the JVM you start the LocalCluster from. You shouldn't use LocalCluster in production.
StormSubmitter is for submitting your topology to a real Storm cluster. Nimbus, the Supervisors and Workers all run in their own JVMs, which can be distributed across multiple machines. The guide for setting up a cluster is at https://storm.apache.org/releases/2.0.0-SNAPSHOT/Setting-up-a-Storm-cluster.html. The storm.yaml file can be found in your-storm-dir/conf/storm.yaml
.