Elasticseach可以在windows上通过.zip格式的文件进行安装。这样通过elasticsearch-service.bat命令让Elasticsearch作为一个服务运行。

提示:之前Elasticsearch在Windows上都是通过.zip格式的文件进行安装。现在有专门的MSI安装文件使得在Windows上安装更加简单。如果你愿意你也可以继续使用.zip格式安装。

这个安装包依然包括了免费和付费的特性,试用三十天for所有的特性

注意:在Windows上,Elasticsearch机器学习特性依赖Microsoft Universal C Runtime library。这个库内嵌在Windows10、Windows Server 2016以及最近的Windows版本中。对于更老的Windows版本,可以通过Windows Update升级来安装,或者单独下载。如果你无法安装Microsoft Universal C Runtime library,你仍然通过禁用机器学习特性后来使用Elasticsearch。

Download Elasticsearch中可以找到最新稳定的Elasticsearch版本。其它版本也可以在Past Releases page中找到。

注意:Elasticsearch内嵌了一个OpenJDK,要使用自己的Java版本,请阅读JVM版本要求

下载并安装.zip包

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.0-windows-x86_64.zip下载Elasticsearch v7.14.0安装包。

解压下载的包,会自动创建一个elasticsearch-7.14.0目录,我们把这个目录称为%ES_HOME%。在控制台中,cd到这个目录,例如:
cd c:\elasticsearch-7.14.0

启用自动创建系统索引

一些商业特性会自动在Elasticsearch中创建索引。默认情况下,Elasticsearch已经设置了允许自动创建索引,不需要其它的步骤。然而,如果你已经在Elasticsearch中禁用自了动创建索引,你必须在elasticsearch.yml配置action.auto_create_index来开启自动创建索引。
action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*

重要:如果你使用Logstash或者Beats,你很可能会需要额外的索引名称在action.auto_create_index中,实际的值可能取决于你的本地配置。如果你不确定你的环境,你可以考虑设置为*来允许自动创建所有的索引。

通过命令行运行Elasticsearch

通过下面的命令来启动Elasticsearch
./bin/elasticsearch.bat

如果你的Elasticsearch有密码保护。你会收到输入密码的提示。详情请阅读安全配置

默认情况下,Elasticsearch会在后台运行,打印日志在标准输出,通过Ctrl-C停止。

用命令行配置Elasticarch

Elasticsearch默认会加载$ESHOME/config/elasticsearch.yml配置文件。配置文件的详细说明在[_Configuring Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html)_。_

所有的配置项可以在配置文件中配置,也可以通过命令行的方式来进行配置,使用-E语法来配置。
./bin/elasticsearch -d -Ecluster.name=my_cluster -Enode.name=node_1

注意:包含空格的值需要用双引号包含起来,例如:-Epath.logs=”C:\My Logs\logs”
提示:一般情况下,任何集群内的配置(例如cluster.name)都该添加到elasticsearch.yml配置文件中,而任何特定节点的配置例如node.name可以通过命令行配置。

检查Elasticarch是否在运行

你可以通过向9200端口发送Http命令来检查Elasticsearch节点是否在运行。

  1. curl -X GET "localhost:9200/?pretty"

返回的数据应该类似下面:

  1. {
  2. "name" : "Cp8oag6",
  3. "cluster_name" : "elasticsearch",
  4. "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA",
  5. "version" : {
  6. "number" : "7.14.0",
  7. "build_flavor" : "default",
  8. "build_type" : "tar",
  9. "build_hash" : "f27399d",
  10. "build_date" : "2016-03-30T09:51:41.449Z",
  11. "build_snapshot" : false,
  12. "lucene_version" : "8.9.0",
  13. "minimum_wire_compatibility_version" : "1.2.3",
  14. "minimum_index_compatibility_version" : "1.2.3"
  15. },
  16. "tagline" : "You Know, for Search"
  17. }

在Windows上将Elasticsearch安装为一个服务

Elasticsearch可以被安装成一个服务,使得可以在后台运行并且可以随着开机而自动启动。通过位于bin目录下的elasticsearch-service.bat来实现,elasticsearch-service.bat通过命令行可以安装、移除、管理或者配置服务和开启和停止服务。

  1. c:\elasticsearch-7.14.0\bin>elasticsearch-service.bat
  2. Usage: elasticsearch-service.bat install|remove|start|stop|manager [SERVICE_ID]

这个脚本需要一个执行动作的参数和一个可选参数service id (安装多个Elasticsearch有用)

可选的命令参数:

install:将Elasticsearch作为一个服务安装
remove:移除安装的Elasticsearch(如果启动了会先停止)
start:启动Elasticsearch服务(已安装情况下)
stop:停止Elasticsearch(已启动情况下)
manager:启动一个界面来管理已安装的服务

服务的名称和ES_JAVA_HOME的值将会在安装时可用。

  1. c:\elasticsearch-7.14.0\bin>elasticsearch-service.bat install
  2. Installing service : "elasticsearch-service-x64"
  3. Using ES_JAVA_HOME (64-bit): "c:\jvm\jdk1.8"
  4. The service 'elasticsearch-service-x64' has been installed.

虽然可以将JRE用于Elasticsearch服务,但由于它使用的是客户端VM(而不是服务器JVM,后者为长时间运行的应用程序提供了更好的性能),因此不推荐使用它,并会发出警告。