Seu script de inicialização do serviço Elasticsearch não imprime nenhuma informação de erro no console ou arquivo de log e mostra [Ok], não é?
Você precisa executar o Elaticsearch manualmente com o mesmo usuário e com os mesmos parâmetros que o script de inicialização para verificar o que está errado. A mensagem de erro será impressa no console.
O comando correto para executar o Elasticsearch no script de inicialização deve ser:
sudo -u elasticsearch /usr/share/elasticsearch/bin/elasticsearch -d -p /var/run/elasticsearch.pid --default.config=/etc/elasticsearch/elasticsearch.yml --default.path.home=/usr/share/elasticsearch --default.path.logs=/var/log/elasticsearch --default.path.data=/var/lib/elasticsearch --default.path.work=/tmp/elasticsearch --default.path.conf=/etc/elasticsearch
Apenas tente adicionar uma linha no /etc/init.d/elasticsearch para imprimir o comando acima:
# Start Daemon
log_daemon_msg "sudo -u $ES_USER $DAEMON $DAEMON_OPTS" # <-- Add this line
start-stop-daemon --start -b --user "$ES_USER" -c "$ES_USER" --pidfile "$PID_FILE" --exec $DAEMON -- $DAEMON_OPTS
log_end_msg $?