I am in the process of creating some install scripts to install Splunk through our configuration management tool. Everything is working, except for this.
On certain systems, we use port 8089 for another application. I can detect that we're using it - but on Linux systems, there doesn't seem to be a way to tell Splunk to start the first time using a different management port other than 8089.
The Windows .msi has this feature, allowing you to set SPLUNKD_PORT during the install - is there anything available for the *nix versions that will allow the splunkd port to be set before the start?
The --answer-yes option also doesn't seem to do anything.
[email@example.com:~]# /opt/splunk/bin/splunk start --answer-yes Splunk> CSI: Logfiles. Checking prerequisites... Checking http port : open Checking mgmt port : already bound ERROR: The mgmt port  is already bound. Splunk needs to use this port. Would you like to change ports? [y/n]:
I need to be able to automate it without being asked for input, but splunk doesn't seem to have a way to do this. Am I missing something?
I recommend you look here: http://www.splunk.com/wiki/Deploying_Splunk_Light_Forwarders
Note that this allows completely unattended install, and specifically addresses the problem of setting a non-default port using a configuration file. In general, for automated installs, it is much preferable to use static configuration files over commands. Almost any Splunk configuration can be set using a static configuration file.
Also, please file an enhancement request for a setting/config to allow forwarders to dynamically/automatically select a new listen port for Splunkd if the configured one is occupied. You can file an ER by opening a support case with priority 4 here: https://www.splunk.com/page/submit_issue