在windows上安装Elasticsearch
Elasticsearch可以使用.zip软件包安装在Windows上。 elasticsearch-service.bat命令,它将设置Elasticsearch作为服务运行。
Elasticsearch的最新稳定版在Download Elasticsearch下载,其他的版本在Past Releases page下载。
NOTE:
Elasticsearch需要java8或者更高的java版本。
可以使用official Oracle distribution 或者使用open-source distribution 例如OpenJDK。
1.下载和安装.zip软件包
下载elasticsearch5.0
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.2.zip
解压.zip 得到elasticsearch-5.0.2的文件夹,它就是%ES_HOME%,在windows终端窗口中,cd到%ES_HOME%文件夹,如下:
cd c:\elasticsearch-5.0.2
2.通过命令行运行elasticsearch
Elasticsearch可以通过如下命令直接启动
.\bin\elasticsearch
默认情况下,Elasticsearch在前台运行,将其日志打印到STDOUT,并可以通过按Ctrl-C停止。
3.通过命令行配置elasticsearch
默认情况下,Elasticsearch从$ES_HOME/config/elasticsearch.yml文件加载其配置。
此配置文件的格式在Configuring Elasticsearch中进行了说明。
也可以在命令行上使用-E语法指定可以在配置文件中指定的任何设置,如下所示:
./bin/elasticsearch -Ecluster.name=my_cluster -Enode.name=node_1
NOTE:
含有空格的值,必须用引号括起来,例如:
Epath.logs="C:\My Logs\logs".
TIP:
通常,任何集群范围的设置如cluster.name都应该添加到elasticsearch.yml配置文件中,
而任何特定于节点的设置如node.name都可以在命令行中指定。
4.检查elasticsearch是否在运行
你可以通过向localhost上的端口9200发送HTTP请求来测试Elasticsearch节点是否正在运行:
GET /
如果elasticsearch正在运行,你会得到如下response
{
"name" : "Cp8oag6",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
"version" : {
"number" : "5.0.2",
"build_hash" : "f27399d",
"build_date" : "2016-03-30T09:51:41.449Z",
"build_snapshot" : false,
"lucene_version" : "6.2.1"
},
"tagline" : "You Know, for Search"
}
5.在windows上安装elasticsearch服务
Elasticsearch可以被安装成一个服务在后台运行,并且做到开机自启动,无需任何交互。实现以上需要借助在bin目录下的elasticsearch-service.bat
脚本,该脚本帮助我们安装、删除、管理、配置、启动、停止elasticsearch服务。如上所有操作都可以在命令行完成
c:\elasticsearch-5.0.2\bin>elasticsearch-service
Usage: elasticsearch-service.bat install|remove|start|stop|manager [SERVICE_ID]
该脚本执行时需要加一个必选参数(install、remove、start、stop、manager之一),一个可选参数(服务标识ID,对多elasticsearch服务时有用)
必选参数解释如下:
install 将elasticsearch安装为服务
remove 删除已经安装好的elasticsearch服务(如果服务已经启动,则先停止再删除)
start 启动已经安装好的elasticsearch服务
stop 停止已经运行的elasticsearch服务
manager 启动一个GUI,通过GUI来管理已经安装
基于可用的JDK/JRE(通过JAVA_HOME设置)的体系结构,合适的64位(x64)或者32位(x86)elasticsearch服务将会被安装,
此在安装过程中被确定下来:
c:\elasticsearch-5.0.2\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.
NOTE:
虽然JRE可用于Elasticsearch服务,但由于使用客户端VM(与为长期运行的应用程序提供更好性能的服务器JVM相反),因此不建议使用JRE,会产生警告信息。
NOTE:
升级(或降级)JVM版本不需要重新安装服务。 但是,如果跨JVM类型(例如JRE与SE)进行升级,需要重新安装该服务。
6.自定义elasticsearch服务
在elasticsearch 服务被安装之前,可以通过设置环境变量的值,来配置elasticsearch服务(可以用command,也可以使用System Properties->Environment Variables GUI)
SERVICE_ID 服务唯一标识,适用于一台机器多个elasticsearch实例,32位windows上默认为elasticsearch-service-x86,64位windows上默认为elasticsearch-service-x64
SERVICE_USERNAME 服务用户名称,默认为本机系统账号名称
SERVICE_PASSWORD 在%SERVICE_USERNAME%中指定的用户的密码
SERVICE_DISPLAY_NAME 服务的名称 默认为Defaults to Elasticsearch <version> %SERVICE_ID%
SERVICE_DESCRIPTION 服务的描述,默认为Elasticsearch <version> Windows Service - https://elastic.co
JAVA_HOME 服务所需的JVM的安装目录
LOG_DIR 日志文件目录,默认为%ES_HOME%\logs
DATA_DIR 数据文件目录,默认为%ES_HOME%\data
CONF_DIR 配置文件目录(需要包括elasticsearch.yml和log4j2.properties文件),默认为/etc/elasticsearch
ES_JAVA_OPTS 想要应用的任何其他JVM系统属性
ES_START_TYPE 服务的启动方式。可以设置为自动或者手动,默认为手动
ES_STOP_TIMEOUT procrun等待服务正常退出的时间,默认为0
NOTE:
从根本上来说,elasticsearch-service.bat依赖Apache Commons Daemon(http://commons.apache.org/proper/commons-daemon/)项目来安装服务,在服务安装之前,环境变量将会被复制,并且在服务的整个生命周期中一直使用。这意味服务已经安装后,任何对环境变量的修改将失效,除非重装服务
NOTE:
在windows中,heap size(https://www.elastic.co/guide/en/elasticsearch/reference/5.0/heap-size.html)可以在elasticsearch运行时通过命令行设置,也可以在第一次安装elasticsearch服务的时候进行设置。要调整已经安装的elasticsearch的服务,需要使用service manager:bin\elasticsearch-service.bat manager。
使用Manager GUI
在安装好elasticsearch服务后,也能通过Manager GUI(elasticsearch-service-mgr.exe),来配置服务。GUI可以直接显示服务信息包括服务状态、启动方式、JVM、启动和停止设置等。只需要输入elasticsearch-service.bat manager,启动GUI
绝大多数通过Manager GUI进行的配置信息修改(如 JVM)需要重启服务,修改才能生效
7.Windows中.zip包安装后的目录结构
.zip包完全是自包含的(entirely self-contained)。
默认情况下,所有文件和目录都包含在$ES_HOME 解压缩时创建的目录中。
这是非常方便的,因为你不必创建任何目录开始使用Elasticsearch,卸载Elasticsearch直接删除$ES_HOME目录即可。 但是,建议更改config目录,数据目录和logs目录的默认位置,
以便后来对重要数据的保留。
Type | Description | Default Location | Setting |
---|---|---|---|
home | elasticsearch主目录($ES_HOME) | 解压软件包自动创建 | |
bin | elasticsearch启动节点启动脚本,elasticsearch-plugin插件安装脚本 | $ES_HOME/bin | |
conf | 配置文件,包含elasticsearch.yml | $ES_HOME/config | path.conf |
data | 节点上分配的每个index/shard的数据文件的位置,可以有多个位置 | $ES_HOME/data | path.data |
logs | 日志文件的存放位置 | $ES_HOME/logs | path.logs |
plugins | 插件文件的位置,每个插件一个子文件夹 | $ES_HOME/plugins | |
repo | 共享文件系统存储库位置,容纳多个位置。可以放置在此处指定的任何目录的任何子目录中。 | Not configured | path.repo |
script | 脚本文件的位置 | $ES_HOME/scripts | path.scripts |
8.进一步
你现在已经设置了一个测试Elasticsearch环境。 在开始认真开发或使用Elasticsearch开始生产之前,您需要进行一些额外的设置: