启动Elasticsearch
启动Elasticsearch的方法取决于你如何安装它。
归档包(.tar.gz
)
如果你使用.tar.gz
包安装了Elasticsearch,那么你可以从命令行启动Elasticsearch。
从命令行运行Elasticsearch
Elasticsearch可以从如下所示命令行启动:
./bin/elasticsearch
默认情况下,Elasticsearch在前台运行,将其日志打印到标准输出(stdout
),按Ctrl-C
即可停止。
所有与Elasticsearch打包在一起的脚本都需要一个支持数组的Bash版本,并假设Bash在
/bin/bash
中可用,因此,Bash应该可以直接或通过符号链接在此路径上可用。
作为守护进程运行
要将Elasticsearch作为守护程序运行,请在命令行中指定-d
,并使用-p
选项将进程ID记录在文件中:
./bin/elasticsearch -d -p pid
日志消息可以在$ES_HOME/logs/
目录中找到。
要关闭Elasticsearch,请关闭pid
文件中记录的进程ID:
kill `cat pid`
RPM和Debian包中提供的启动脚本负责启动和停止Elasticsearch进程。
归档包(.zip
)
如果使用.zip
包在Windows上安装了Elasticsearch,就可以从命令行启动Elasticsearch,如果你想让Elasticsearch在系统启动时自动启动,而不需要任何用户交互,请将Elasticsearch安装为服务。
从命令行运行Elasticsearch
Elasticsearch可以从如下所示命令行启动:
.\bin\elasticsearch.bat
默认情况下,Elasticsearch在前台运行,将其日志打印到STDOUT
,按Ctrl-C
即可停止。
Debian软件包
Elasticsearch安装后不会自动启动,如何启动和停止Elasticsearch取决于你的系统是使用SysV init
还是systemd
(用于较新的发行版),你可以运行这个命令知道哪个正在使用:
ps -p 1
使用SysV init
运行Elasticsearch
使用update-rc.d
命令配置Elasticsearch以在系统启动时自动启动:
sudo update-rc.d elasticsearch defaults 95 10
可以使用service
命令启动和停止Elasticsearch:
sudo -i service elasticsearch start
sudo -i service elasticsearch stop
如果Elasticsearch由于任何原因无法启动,它会打印出失败的原因到STDOUT
,日志文件可以在/var/log/elasticsearch/
中找到。
使用systemd
运行Elasticsearch
要配置Elasticsearch在系统启动时自动启动,运行以下命令:
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
依如下方式启动和停止Elasticsearch:
sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service
这些命令没有提供关于Elasticsearch是否成功启动的反馈,相反,这些信息将写入位于/var/log/elasticsearch/
中的日志文件中。
默认情况下,Elasticsearch服务不会在systemd
journal中记录信息,要启用journalctl
日志记录,--quiet
选项必须从elasticsearch.service
文件中的ExecStart
命令行中删除。
启用systemd
日志记录时,可以使用journalctl
命令获取日志记录信息:
tail journal:
sudo journalctl -f
列出elasticsearch服务的journal条目:
sudo journalctl --unit elasticsearch
从给定时间开始列出elasticsearch服务的journal条目:
sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"
查看man journalctl
或从https://www.freedesktop.org/software/systemd/man/journalctl.html获得更多命令行选项。
Docker镜像
如果安装了Docker镜像,可以从命令行启动Elasticsearch,根据你使用的是开发模式还是生产模式,有不同的方法,参见从命令行运行Elasticsearch。
MSI软件包
如果你使用.msi
包在Windows上安装了Elasticsearch,你可以从命令行启动Elasticsearch,如果你希望它在系统启动时自动启动,而不需要任何用户交互,请将Elasticsearch安装为Windows服务。
从命令行运行Elasticsearch
一旦安装完毕,Elasticsearch就可以从命令行启动,如果不作为服务安装并在安装完成时配置为启动,如下所示:
.\bin\elasticsearch.exe
命令行终端将显示如下所示的输出:
默认情况下,Elasticsearch在前台运行,除了LOGSDIRECTORY
中的<cluster name>.log
文件外,还将其日志打印到STDOUT
,按Ctrl-C
即可停止。
RPM软件包
Elasticsearch安装后不会自动启动,如何启动和停止Elasticsearch取决于你的系统是使用SysV init
还是systemd
(用于较新的发行版),你可以运行这个命令知道哪个正在使用:
ps -p 1
使用SysV init
运行Elasticsearch
使用chkconfig
命令配置Elasticsearch以便在系统启动时自动启动:
sudo chkconfig --add elasticsearch
可以使用service
命令启动和停止Elasticsearch:
sudo -i service elasticsearch start
sudo -i service elasticsearch stop
如果Elasticsearch由于任何原因无法启动,它会打印出失败的原因到STDOUT
,日志文件可以在/var/log/elasticsearch/
中找到。
使用systemd
运行Elasticsearch
要配置Elasticsearch在系统启动时自动启动,运行以下命令:
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
依如下方式启动和停止Elasticsearch:
sudo systemctl start elasticsearch.service
sudo systemctl stop elasticsearch.service
这些命令没有提供关于Elasticsearch是否成功启动的反馈,相反,这些信息将写入位于/var/log/elasticsearch/
中的日志文件中。
默认情况下,Elasticsearch服务不会在systemd
journal中记录信息,要启用journalctl
日志记录,--quiet
选项必须从elasticsearch.service
文件中的ExecStart
命令行中删除。
启用systemd
日志记录时,可以使用journalctl
命令获取日志记录信息:
tail journal:
sudo journalctl -f
列出elasticsearch服务的journal条目:
sudo journalctl --unit elasticsearch
从给定时间开始列出elasticsearch服务的journal条目:
sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"
查看man journalctl
或从https://www.freedesktop.org/software/systemd/man/journalctl.html获得更多命令行选项。