为与 Elastic Stack 旗下的其他产品保持一致的版本号,Elasticsearch目前使用了Elastic Stack的最新版本号命名方式,由原来的2.x变成了现在的5.x版本。新版本除了很多功能和性能上的改进外,还对依赖的Java环境也进行了升级,只支持Java8及以上的版本。
下载安装
从 https://www.elastic.co/downloads/elasticsearch 下载最新版本的Elasticsearch安装包,对于windows,需要选择zip格式的压缩包(tar.gz 包亦可)。解压zip文件即完成安装。
Elasticsearch 的安装目录就是压缩包解压后的生成的目录,我们用 %ES_HOME%
来表示。如下是安装目录下的一些文件夹:
文件夹 | 说明 | 默认位置 | 设置 |
---|---|---|---|
bin | 包括 elasticsearch.bat 在内的一些脚本和可执行文件 | %ES_HOME%\bin |
|
conf | elasticsearch.yml 等配置文件所在的目录 |
%ES_HOME%\config |
path.conf |
data | 索引等数据文件所在目录 | %ES_HOME%\data |
path.data |
logs | 日志文件目录 | %ES_HOME%\logs |
path.logs |
plugins | 插件文件目录。每个插件在一个子文件夹中 | %ES_HOME%\plugins |
|
repo | 共享文件系统仓库 | 未指定 | path.repo |
script | 脚本文件目录 | %ES_HOME%\scripts |
path.scripts |
从命令行启动
打开windows命令行窗口,切换至Elasticsearch的安装目录(%ES_HOME%),使用如下命令即可启动。
1 2 |
.\bin\elasticsearch.bat |
Elasticsearch默认在前端运行,并将日志输出到窗口(STDOUT),按下Ctrl-C或者直接关闭命令行窗口即可终止。
配置
ElasticSearch有两种配置方式,一种直接在命令行启动时指定参数值,另一种是使用配置文件。
1、命令行
任何在配置文件中可以声明的配置参数,均可以使用命令行来声明。在需要声明的参数前加上前缀 -E
即可:
1 2 |
.\bin\elasticsearch -Ecluster.name=my_cluster -Enode.name=node_1 |
注意:对于含有空格的参数,需要使用双引号将该值括起来,如:Epath.logs="C:\My Logs\logs"
2、配置文件
Elasticsearch 默认的配置文件位置是%ES_HOME%目录下config文件夹,通过指定 path.conf
参数可以改变配置文件位置,让Elasticsearch在启动时加载我们指定的配置文件。
1 2 |
.\bin\elasticsearch -Epath.conf=C:\elastic\node_1\config |
注意:
Elasticsearch 的默认配置适用于64位JVM,若使用32位JVM则需要对
jvm.options
文件稍作修改, 移除-server
并将栈大小从-Xss1m
改为-Xss320k
。
安装为 Windows 服务
Elasticsearch 可以安装为Windows服务, 这样可以使得 Elasticsearch 在系统启动时自动在后台运行而无须用户干预。
Elasticsearch 服务的安装、移除、管理和配置都通过 %ES_HOME%\bin 目录下的 elasticsearch-service.bat 脚本来完成,此外,该脚本也用于服务的启动和停止操作。该脚本用法如下:
1 2 |
elasticsearch-service.bat install|remove|start|stop|manager [SERVICE_ID] |
除了install等5个参数中的1个外,还可以指定服务名,即 SERVICE_ID ,该参数是可缺省的,默认为 elasticsearch-service-x64 (64-bit JVM)或 elasticsearch-service-x86(32-bit JVM)。
当同时安装或管理多个 Elasticsearch 服务时应明确指定该参数,否则脚本将取SERVICE_ID的默认值而无法处理其他服务。
命令 | 说明 |
---|---|
install |
安装服务 |
remove |
停止并移除服务 |
start |
启动服务 |
stop |
停止服务 |
manager |
启动 Elasticsearch 服务管理器(elasticsearch-service-mgr.exe) |
Elasticsearch 服务的版本(x64 或 x86)依赖于系统中已安装的 JAVA 版本(由环境变量 JAVA_HOME 来指定)。
1 2 3 4 5 |
.\bin\elasticsearch-service install Installing service : "elasticsearch-service-x64" Using JAVA_HOME (64-bit): "c:\jvm\jdk1.8" The service 'elasticsearch-service-x64' has been installed. |
注意:仅改变 JVM 的版本并不需要重新安装 Elasticsearch 服务,但若更改了 JVM 类型就需要重新安装服务了。
设置 Elasticsearch 服务参数
Elasticsearch 服务的各项参数可以在安装前通过设置系统环境变量来配置,若未指定相应的环境变量,则服务安装时将使用默认值。在服务安装后也可以使用服务管理器来修改各项参数。
以下是可设定的环境变量:
环境变量名 | 说明 |
---|---|
SERVICE_USERNAME |
以什么用户身份运行, 默认系统账户 |
SERVICE_PASSWORD |
由 %SERVICE_USERNAME% 指定的用户的密码 |
SERVICE_DISPLAY_NAME |
服务名,默认 Elasticsearch %SERVICE_ID% |
SERVICE_DESCRIPTION |
服务描述。默认 Elasticsearch Windows Service - https://elastic.co |
JAVA_HOME |
JAVA运行时所在目录 |
LOG_DIR |
日志目录,默认 %ES_HOME%\logs . |
DATA_DIR |
数据目录,默认 %ES_HOME%\data . |
CONF_DIR |
配置文件目录,默认 %ES_HOME%\conf . |
ES_JAVA_OPTS |
JVM参数 |
ES_START_TYPE |
服务启动类型,可以是自动或手动(默认) |
ES_STOP_TIMEOUT |
procrun 服务退出的超时时间(按秒计),默认0 |