Windows下安装Elasticsearch

为与 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%),使用如下命令即可启动。

Elasticsearch默认在前端运行,并将日志输出到窗口(STDOUT),按下Ctrl-C或者直接关闭命令行窗口即可终止。

配置

ElasticSearch有两种配置方式,一种直接在命令行启动时指定参数值,另一种是使用配置文件。

1、命令行

任何在配置文件中可以声明的配置参数,均可以使用命令行来声明。在需要声明的参数前加上前缀 -E 即可:

注意:对于含有空格的参数,需要使用双引号将该值括起来,如:Epath.logs="C:\My Logs\logs"

2、配置文件

Elasticsearch 默认的配置文件位置是%ES_HOME%目录下config文件夹,通过指定 path.conf 参数可以改变配置文件位置,让Elasticsearch在启动时加载我们指定的配置文件。

注意:

Elasticsearch 的默认配置适用于64位JVM,若使用32位JVM则需要对 jvm.options 文件稍作修改, 移除 -server 并将栈大小从 -Xss1m 改为 -Xss320k

安装为 Windows 服务

Elasticsearch 可以安装为Windows服务, 这样可以使得 Elasticsearch 在系统启动时自动在后台运行而无须用户干预。

Elasticsearch 服务的安装、移除、管理和配置都通过 %ES_HOME%\bin 目录下的 elasticsearch-service.bat 脚本来完成,此外,该脚本也用于服务的启动和停止操作。该脚本用法如下:

除了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 来指定)。

注意:仅改变 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

发表评论

电子邮件地址不会被公开。