本地英文版地址: ../en/starting-elasticsearch.html
启动 Elasticsearch 的方法因安装方式而异。
归档安装包 (.tar.gz
)
如果你是使用 .tar.gz
包 安装的 Elasticsearch,可以从命令行启动 Elasticsearch。
从命令行运行 Elasticsearch
可以从命令行启动 Elasticsearch,如下所示:
./bin/elasticsearch
如果你对 Elasticsearch 密钥库进行了密码保护,系统会提示你输入密钥库的密码。 更多详细信息请参考 安全设置。
默认情况下,Elasticsearch 在前台运行,将其日志打印到标准输出(STDOUT
),并且可以通过按 Ctrl-C
来停止。
所有与 Elasticsearch 打包在一起的脚本都需要一个支持数组的 Bash 版本,并假设 Bash 的存放位置是 /bin/bash
。
因此,Bash 应该可以直接或通过符号链接在这个路径上使用。
作为守护程序运行
要将 Elasticsearch 作为守护进程运行,请在命令行中指定 -d
,并使用 -p
选项将进程 ID 记录在一个文件中:
./bin/elasticsearch -d -p pid
如果你对 Elasticsearch 密钥库进行了密码保护,系统会提示你输入密钥库的密码。 更多详细信息请参考 安全设置。
日志信息可以在$ES_HOME/logs/
目录中找到。
要关闭 Elasticsearch,终止 pid
文件中记录的进程 ID:
pkill -F pid
归档安装包 (.zip
)
如果你是在 Windows 上使用 .zip
包 安装的 Elasticsearch,可以从命令行启动 Elasticsearch。
如果你想让 Elasticsearch 在系统启动时自动启动,不需要任何用户交互,那么请 在 Windows 上把 Elasticsearch 作为服务安装。
从命令行运行 Elasticsearch
可以从命令行启动 Elasticsearch,如下所示:
.\bin\elasticsearch.bat
如果你对 Elasticsearch 密钥库进行了密码保护,系统会提示你输入密钥库的密码。 更多详细信息请参考 安全设置。
默认情况下,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 环境变量向 systemd
提供密钥库密码。
该本地文件在存在时应受到保护,一旦 Elasticsearch 启动并运行,可以安全地删除该文件。
echo "keystore_password" > /path/to/my_pwd_file.tmp chmod 600 /path/to/my_pwd_file.tmp sudo systemctl set-environment ES_KEYSTORE_PASSPHRASE_FILE=/path/to/my_pwd_file.tmp sudo systemctl start elasticsearch.service
默认情况下,Elasticsearch 服务不在 systemd
日志中记录信息。
要启用journalctl
日志记录,必须从 elasticsearch.service
文件的 ExecStart
命令行中删除 --quiet
选项。
启用 systemd
日志记录时,可以使用 journalctl
命令获得日志记录信息:
要跟踪日志,执行:
sudo journalctl -f
要列出 elasticsearch 服务的日志记录:
sudo journalctl --unit elasticsearch
要列出从给定时间开始的 elasticsearch 服务的日志记录:
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。 根据你使用的是开发模式还是生产模式,方法不同。 参考 Docker Run。
Windows MSI 安装包
如果你是在 Windows 上使用 .msi
安装包安装的 Elasticsearch,可以从命令行启动 Elasticsearch。
如果你想让它在没有任何用户交互的情况下在系统启动时自动启动,请 在 Windows 上将 Elasticsearch 作为服务安装。
从命令行运行 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 环境变量向 systemd
提供密钥库密码。
该本地文件在存在时应受到保护,一旦 Elasticsearch 启动并运行,可以安全地删除该文件。
echo "keystore_password" > /path/to/my_pwd_file.tmp chmod 600 /path/to/my_pwd_file.tmp sudo systemctl set-environment ES_KEYSTORE_PASSPHRASE_FILE=/path/to/my_pwd_file.tmp sudo systemctl start elasticsearch.service
默认情况下,Elasticsearch 服务不在 systemd
日志中记录信息。
要启用journalctl
日志记录,必须从 elasticsearch.service
文件的 ExecStart
命令行中删除 --quiet
选项。
启用 systemd
日志记录时,可以使用 journalctl
命令获得日志记录信息:
要跟踪日志,执行:
sudo journalctl -f
要列出 elasticsearch 服务的日志记录:
sudo journalctl --unit elasticsearch
要列出从给定时间开始的 elasticsearch 服务的日志记录:
sudo journalctl --unit elasticsearch --since "2016-10-30 18:17:16"
更多命令行选项,请查看 man journalctl
或者 https://www.freedesktop.org/software/systemd/man/journalctl.html。