为什么elasticsearch 不能在Ubuntu 14.04 上运行? [英] why elasticsearch won't run on Ubuntu 14.04?
问题描述
我正在尝试确定 elasticsearch 实例是否正在运行,但似乎没有:
I'm trying to determine if the elasticsearch instance is running, but it doesn't appear to be:
ubuntu@ubuntu:~$ sudo service elasticsearch status
* elasticsearch is not running
ubuntu@ubuntu:~$ sudo service elasticsearch start
* Starting Elasticsearch Server [ OK ]
ubuntu@ubuntu:~$ sudo service elasticsearch status
* elasticsearch is not running
and
ubuntu@ubuntu:~$ sudo /etc/init.d/elasticsearch status
* elasticsearch is not running
ubuntu@ubuntu:~$ sudo /etc/init.d/elasticsearch start
* Starting Elasticsearch Server [ OK ]
ubuntu@ubuntu:~$ sudo /etc/init.d/elasticsearch status
* elasticsearch is not running
ubuntu@ubuntu:/etc/elasticsearch# sudo service elasticsearch restart
* Stopping Elasticsearch Server [ OK ]
* Starting Elasticsearch Server [ OK ]
ubuntu@ubuntu:/etc/elasticsearch# sudo service elasticsearch status
* elasticsearch is not running
和
ubuntu@ubuntu:~$ curl -XGET localhost:9200/_nodes/_all/process?pretty
curl: (7) Failed to connect to localhost port 9200: Connection refused
和
ubuntu@ubuntu:/etc/elasticsearch$ sudo netstat -nlp
tcp6 0 0 :::9300 :::* LISTEN 4413/java
UPD
我的 elasticsearch.log:
My elasticsearch.log:
[2014-12-03 00:00:02,161][INFO ][cluster.metadata ] [Zero] [logstash-2014.12.03] creating index, cause [auto(bulk api)], shards [5]/[1], mappings [_default_]
[2014-12-03 00:00:02,617][INFO ][cluster.metadata ] [Zero] [logstash-2014.12.03] update_mapping [logs] (dynamic)
[2014-12-03 00:00:12,737][INFO ][cluster.metadata ] [Zero] [logstash-2014.12.03] update_mapping [logs] (dynamic)
[2014-12-03 00:00:17,587][INFO ][cluster.metadata ] [Zero] [logstash-2014.12.03] update_mapping [logs] (dynamic)
[2014-12-03 00:00:18,842][INFO ][cluster.metadata ] [Zero] [logstash-2014.12.03] update_mapping [logs] (dynamic)
[2014-12-03 01:00:01,430][INFO ][cluster.metadata ] [Zero] [logstash-2014.11.25] deleting index
[2014-12-03 09:46:57,461][INFO ][cluster.metadata ] [Zero] [logstash-2014.12.03] update_mapping [logs] (dynamic)
推荐答案
Elasticsearch 服务初始化脚本在启动失败时没有在控制台或日志文件上打印任何错误信息,而是荒谬地显示 [OK]代码>.
Elasticsearch service init script doesn't print any error information on console or log file when it fails to startup, instead it ridiculously shows [OK]
.
您必须使用与 init 脚本相同的用户和相同的参数手动运行 elaticsearch 以检查出了什么问题.错误信息将打印在控制台上.
You have to run elaticsearch manually with the same user and same parameters as what the init script does to check what's going wrong. The error message will be printed on console.
在我安装了 elasticsearch-1.4.1.deb 的 Ubuntu 14.10 上,没有改变任何路径,运行 elasticsearch 的命令是:
On my Ubuntu 14.10 with elasticsearch-1.4.1.deb installed, without any path changed, the command to run elastisearch is:
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
我只是在 /etc/init.d/elasticsearch
中添加了一行来打印出上面的命令:
I just added a line into /etc/init.d/elasticsearch
to print out the above command:
# 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 $?
这篇关于为什么elasticsearch 不能在Ubuntu 14.04 上运行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!