O problema acabou sendo o script SysV /etc/init.d/elasticsearch
.
No script, a variável PID_DIR
está definida como:
PID_DIR=/var/run/elasticsearch
mas não existe tal diretório e existe um comando para criá-lo no script também.
Os NAME
e PID_FILE
estão definidos como:
NAME=elasticsearch
PID_FILE="$PID_DIR/$NAME.pid"
Então, quando o PID_FILE
está tentando criar um arquivo "$PID_DIR/$NAME.pid"
( /var/run/elasticsearch/elasticseach.pid
) em $PID_DIR
( /var/run/elasticsearch/
), está ficando:
touch: cannot touch ‘/var/run/elasticsearch/elasticsearch.pid’: No such file or directory
erro porque o diretório /var/run/elasticsearch
ainda não existe.
Sobre a variável JAVA_HOME
, o script /etc/init.d/elasticsearch
não está usando a variável do sistema, em vez de usar / criar sua própria versão da variável que está bem definida no script.
De acordo com o script, se JAVA_HOME
não estiver definido em /etc/default/elasticsearch
, ele tentará configurá-lo manualmente procurando determinados arquivos em determinados diretórios, caso contrário, ele ficará em branco.