💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Windows 环境下安装ES 原文链接 : [https://www.elastic.co/guide/en/elasticsearch/reference/current/windows.html](https://www.elastic.co/guide/en/elasticsearch/reference/current/windows.html) 译文链接 : [http://apache.wiki/pages/editpage.action?pageId=4882732](http://apache.wiki/pages/editpage.action?pageId=4882732) 贡献者 : @漫步 ## Windows 环境下安装ES Elasticsearch可以在Windows中使用安装`.zip`包。这配备了一个`elasticsearch-service.bat`命令,它会安装Elasticsearch来作为服务运行。 Elasticsearch的最新稳定版本可以在上找到 [下载Elasticsearch](https://www.elastic.co/downloads/elasticsearch)页面。其它版本可以在上找到 [过去的版本页面](https://www.elastic.co/downloads/past-releases)。 ![注意](https://img.kancloud.cn/50/1f/501f430e0c03baa87f0bbf9c0e08af0d_66x58.jpg) Elasticsearch需要Java 8或更高版本。使用 [Oracle官方分发](http://www.oracle.com/technetwork/java/javase/downloads/index.html) 或作为开放源代码的分布的[OpenJDK](http://openjdk.java.net/)。 ## 下载并安装`.zip`包 下载`.zip`的Elasticsearch V5.0.1档案来源:[https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.1.zip](https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.1.zip) 你最喜欢的解压缩工具解压。这将创建一个文件夹叫 `elasticsearch-5.0.1`,我们称其为 `%ES_HOME%`。在终端窗口,`cd``%ES_HOME%`目录,例如: ``` cd C:\ elasticsearch-5.0.1 ``` ## 在命令行中运行Elasticsearch Elasticsearch可以从命令行启动,如下所示: ``` .\bin\elasticsearch ``` 默认情况下,Elasticsearch在前台运行,打印其日志`STDOUT`,并可以按停止`Ctrl-C`。 ## 在命令行配置Elasticsearch Elasticsearch加载从它的配置`%ES_HOME%/config/elasticsearch.yml` 默认文件。这个配置文件的格式说明[_配置Elasticsearch_](https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html "配置Elasticsearch")。 可以在配置文件中指定的任何设置,也可以在命令行上指定,使用`-E`的语法如下: ``` ./bin/elasticsearch -Ecluster.name=my_cluster -Enode.name=node_1 ``` ![注意](https://img.kancloud.cn/50/1f/501f430e0c03baa87f0bbf9c0e08af0d_66x58.jpg) 包含空格的值必须用引号括起来。例如`-Epath.logs="C:\My Logs\logs"`。 ![小费](https://img.kancloud.cn/de/e3/dee3f82dc73d84dc4c0ec544b7f0dda7_66x58.jpg) 通常情况下,任何集群范围的设置(例如`[cluster.name](http://cluster.name)`)应该被加入到`elasticsearch.yml`配置文件,而任何特定于节点的设置,例如`[node.name](http://node.name)`可以在命令行上被指定。 ## 检查Elasticsearch运行 您可以测试你的Elasticsearch节点通过发送一个HTTP请求到端口上运行`9200`的`localhost`: ``` GET / ``` 返回值,如下: ``` { "name" : "Cp8oag6", "cluster_name" : "elasticsearch", "cluster_uuid" : "AT69_T_DTp-1qgIJlatQqA", "version" : { "number" : "5.0.1", "build_hash" : "f27399d", "build_date" : "2016-03-30T09:51:41.449Z", "build_snapshot" : false, "lucene_version" : "6.2.1" }, "tagline" : "You Know, for Search" } ``` ### 安装Elasticsearch作为Windows服务 Elasticsearch可以作为服务安装在后台运行,或在启动时自动启动,无需任何用户交互。这可以通过实现`elasticsearch-service.bat`的脚本`bin\`,使人们安装,删除,管理或配置服务和潜在的启动和停止服务文件夹中,全部由命令行。 ``` c:\elasticsearch-5.0.1\bin>elasticsearch-service Usage: elasticsearch-service.bat install|remove|start|stop|manager [SERVICE_ID] ``` 该脚本需要一个参数(要执行的命令),后跟一个可选一表示服务ID(用于安装多个Elasticsearch服务时)。 可用的命令如下: | `install` | 安装Elasticsearch作为服务 | | `remove` | 删除已安装的Elasticsearch服务(并停止该服务,如果启动) | | `start` | 启动Elasticsearch服务(如果安装) | | `stop` | 停止Elasticsearch服务(如果已启动) | | `manager` | 启动GUI管理安装服务 | 根据现有的JDK / JRE(通过设置的体系结构`JAVA_HOME`),相应的64位(x64)或32位(x86)的服务将被安装。此信息是安装过程中提供: ``` c:\elasticsearch-5.0.1\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. ``` ![注意](https://img.kancloud.cn/50/1f/501f430e0c03baa87f0bbf9c0e08af0d_66x58.jpg) 该服务安装程序要求线程堆栈大小设置在jvm.options进行配置**之前**安装的服务。在32位的Windows,你应该添加`-Xss320k`到jvm.options文件,并在64位Windows您应该添加`-Xss1m`到jvm.options文件。 ![注意](https://img.kancloud.cn/50/1f/501f430e0c03baa87f0bbf9c0e08af0d_66x58.jpg) 而JRE可用于Elasticsearch服务,由于其使用的客户机虚拟机(而不是服务器JVM这对于长期运行的应用提供了更好的性能)其使用不鼓励和一个将发出警告。 ![注意](https://img.kancloud.cn/50/1f/501f430e0c03baa87f0bbf9c0e08af0d_66x58.jpg) 升级(或降级)的JVM版本不需要重新安装服务。但是,跨JVM升级类型(如JRE与SE)是不支持,而且确实需要的服务,重新安装。 ### 设置定制服务 该Elasticsearch服务可以在安装之前通过设置以下环境变量(可以使用配置[set命令](https://technet.microsoft.com/en-us/library/cc754250(v=ws.10).aspx)在命令行,或通过`System Properties->Environment Variables`GUI)。 | `SERVICE_ID` | 的唯一标识符的服务。有用的,如果同一计算机上安装多个实例。默认为`elasticsearch-service-x86`(在32位Windows)或`elasticsearch-service-x64`(在64位Windows)。 | | `SERVICE_USERNAME` | 用户身份运行,默认为本地系统帐户。 | | `SERVICE_PASSWORD` | 的密码中指定的用户`%SERVICE_USERNAME%`。 | | `SERVICE_DISPLAY_NAME` | 该服务的名称。默认为`Elasticsearch <version> %SERVICE_ID%`。 | | `SERVICE_DESCRIPTION` | 该服务的描述。默认为`Elasticsearch <version> Windows Service - [https://elastic.co](https://elastic.co)`。 | | `JAVA_HOME` | 所需的JVM的安装目录下运行该服务。 | | `LOG_DIR` | 日志目录,默认为`%ES_HOME%\logs`。 | | `DATA_DIR` | Data目录,默认为`%ES_HOME%\data`。 | | `CONF_DIR` | 配置文件目录(其中必须包括`elasticsearch.yml` 和`log4j2.properties`文件),默认为`%ES_HOME%\conf`。 | | `ES_JAVA_OPTS` | 任何额外的JVM系统属性,你可能要应用。 | | `ES_START_TYPE` | 启动模式的服务。可以是`auto`或者`manual`(默认)。 | | `ES_STOP_TIMEOUT` | 以秒procrun服务等待超时正常退出。默认为`0`。 | ![注意](https://img.kancloud.cn/50/1f/501f430e0c03baa87f0bbf9c0e08af0d_66x58.jpg) 在其核心,`elasticsearch-service.bat`依赖于[Apache的百科全书守护](http://commons.apache.org/proper/commons-daemon/)工程安装服务。该服务在安装之前设置环境变量被复制,并会在服务生命周期中使用。这意味着在安装后对他们所做的任何更改将不被拾起,除非该服务被重新安装。 ![注意](https://img.kancloud.cn/50/1f/501f430e0c03baa87f0bbf9c0e08af0d_66x58.jpg) 在Windows中,[堆大小](https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html "通过jvm.options设置JVM堆大小")可以被配置为用于从所述命令行运行Elasticsearch时,或安装Elasticsearch作为首次一个服务时的任何其他Elasticsearch安装。要调整堆大小已安装的服务,使用服务管理器:`bin\elasticsearch-service.bat manager`。 使用管理器GUI也可以配置服务,它已经使用管理GUI(安装后elasticsearch-service-mgr.exe),它提供了洞察安装的服务,包括其状态,启动类型,JVM启动和停止除其他事项外设置。简单地调用elasticsearch-service.bat manager在命令行会打开管理器窗口: ![](/download/attachments/4882732/image2016-11-25%2015%3A33%3A2.png?version=1&modificationDate=1480059182000&api=v2) 通过管理程序的GUI做的大多数更改(如JVM设置),将要求服务重新启动才能生效。 ### 目录结构`.zip` 分析 该`.zip`包是完全独立的。所有的文件和目录,默认情况下,包含在`%ES_HOME%` -解压缩存档时创建的目录。 这是非常方便,因为你没有创建任何目录开始使用Elasticsearch和卸载Elasticsearch是去掉了容易`%ES_HOME%`目录。不过,最好是改变config目录,数据目录和日志目录的默认位置,这样你就不会删除以后重要的数据。 | 类型 | 描述 | 默认位置 | 设置 | | --- | --- | --- | --- | | **home ** | Elasticsearch主目录或 `%ES_HOME%` | 目录由解包归档创建 |   | | **bin ** | 二进制脚本包括`elasticsearch`启动一个节点,并`elasticsearch-plugin`安装插件 | `%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` | ## 下一步 现在,您有一个测试环境Elasticsearch成立。开始之前严重的发展或进入生产与Elasticsearch,你需要做一些额外的设置: * 了解如何[配置Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html "配置Elasticsearch")。 * 配置[重要Elasticsearch设置](https://www.elastic.co/guide/en/elasticsearch/reference/current/important-settings.html "重要Elasticsearch配置")。 * 配置[重要的系统设置](https://www.elastic.co/guide/en/elasticsearch/reference/current/system-config.html "重要的系统配置")。