In terms of the underlying API, a job must first be opened and then, once the job is open the datafeed can be started.
The UI is supposed to perform both actions when you click the "start" button. It seems that something is not working with the initial "open job" step.
To troubleshoot this, first look at the jobs list. What does this say the job status is? For example, it could be "closed", "closing", "failed". The next step depends on what the current status is.
If the job is "closed", try opening it using the REST API - see https://www.elastic.co/guide/en/elasticsearch/reference/5.5/ml-open-job.html. This will probably fail, but by calling the REST endpoint directly you'll hopefully see a more detailed error message about what's going wrong.
If the job is "failed", try force-closing it using the REST API - see https://www.elastic.co/guide/en/elasticsearch/reference/5.5/ml-close-job.html and be sure to use
force=true on the request. You could also look in the main Elasticsearch log file to see if there is any indication of what caused the job to fail.