It seems that there needs to be a search head captain running before new members can be added to a cluster?
We're trying to automate the installation using ansible. In ansible, we can specify which server to be the captain and its members. However, if a server (designated to be a member) boots up, it won't be able to bring up the cluster because it isn't the captain?
How do we overcome this? We need to start up the server running the captain first before we bring up the rest of the members?
You must start the SHC members first and make them into a cluster. Only then do you designate one of them to be the Captain. See https://docs.splunk.com/Documentation/Splunk/8.2.1/DistSearch/SHCdeploymentoverview#Deploy_the_clust...
I haven't tried starting a cluster without first starting the captain, is that possible?
When adding member, I would need to specify an existing member uri, so how is that going to work?
splunk add shcluster-member -current_member_uri <URI>:<management_port>
Installing SHC members and making them into a cluster is part of the documented procedures so it must be possible. You have to have a cluster before selecting a captain.
You can start an existing SHC in any order. The cluster will choose its own captain.
When creating a new cluster, use the init-shcluster-config command rather than add shcluster-member. Note that the add shcluster-member command has different parameters for adding a new SH to the cluster vs adding an SH that is be re-added.