Elasticsearch安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch安装相关的知识,希望对你有一定的参考价值。

本文只介绍在windows上的安装和配置,其他安装和配置请参见官方文档

ES在windows上安装需下载zip安装包,解压后bin目录下有个 elasticsearch-service.bat 文件。运行此文件ES就会启动服务。

ES的最新稳定版可以从这里下载,其他版本可以从这里找到。

Elasticsearch需要Java 8或更高版本。

具体安装请参见Elasticsearch和Kibana安装

在命令行中配置ES

约定:以后我们把解压后的目录存放地址称作 %ES_HOME% ,比如 D:\\ProgramFiles\\elasticsearch-5.4.1 

ES默认从 %ES_HOME%\\config\\elasticsearch.yml 文件加载配置。具体配置请参考 Configuring Elasticsearch.

只要能在配置文件中指定的配置,在命令行中也能实现。像下面这样使用  -E 语法:

.\\bin\\elasticsearch.bat -Ecluster.name=my_cluster -Enode.name=node_1

包含空格的值必须用引号括起来,比如 -Epath.logs="C:\\My Logs\\logs" 

通常,集群范围内的设置(如cluster.name)应该在elasticsearch.yml配置文件中配置,而任何特定于节点的设置(如node.name),可以在命令行中指定。

检查ES是否正在运行

发送一个http请求到9200端口,比如 http://localhost:9200/ 。或者在kibana中执行  GET / 

会返回以下内容:

{
  "name": "9fzvF2H",
  "cluster_name": "elasticsearch",
  "cluster_uuid": "xBoSQEYqQSaJjzzpmAj7aw",
  "version": {
    "number": "5.4.1",
    "build_hash": "2cfe0df",
    "build_date": "2017-05-29T16:05:51.443Z",
    "build_snapshot": false,
    "lucene_version": "6.5.1"
  },
  "tagline": "You Know, for Search"
}

在windows上安装ES服务

ES可以作为服务安装,在后台运行,也可以在系统启动时自动启动,无需任何用户交互。通过 %ES_HOME% 下的bin目录下elasticsearch-service.bat脚本来实现,该脚本可以从命令行安装,删除,管理或配置服务并潜在地启动和停止服务。

c:\\elasticsearch-5.4.1\\bin>elasticsearch-service

Usage: elasticsearch-service.bat install|remove|start|stop|manager [SERVICE_ID]

该脚本需要一个参数(要执行的命令),然后是一个可选的指示服务的标识(在安装多个ES服务时很有用)。

可用的命令有:

install

作为服务安装ES

remove

删除已安装的ES服务(如果启动则停止服务)

start

启动ES服务(如果已安装)

stop

停止ES服务(如果启动)

manager

启动GUI来管理已安装的服务

根据安装的java JDK / JRE架构,将安装适当的64位(x64)或32位(x86)服务。

D:\\ProgramFiles\\elasticsearch-5.4.1\\bin>elasticsearch-service install
Installing service      :  "elasticsearch-service-x64"
Using JAVA_HOME (64-bit):  "D:\\ProgramFiles\\Java\\jdk1.8.0_131"
The service \'elasticsearch-service-x64\' has been installed.

虽然JRE可用于Elasticsearch服务,但由于是客户端VM(而不是为长期运行应用程序提供更好性能的服务器JVM),因此不鼓励使用它,并而且会发出警告。

应将环境变量JAVA_HOME设置为要使服务使用的JDK的安装路径。如果升级JDK,则不需要重新安装服务,但必须将JAVA_HOME为设置为新JDK安装的路径。不支持跨JVM类型升级(例如JRE与SE),而且需要重新安装该服务。

自定义服务设置

ES服务在安装前可以设置以下环境变量,可以在命令行中使用  set 命令,也可以直接在环境变量中配置。

SERVICE_ID

服务的唯一标识. 对于在同一台机器上安装多个ES服务很有用.默认为elasticsearch-service-x86 (on 32-bit Windows) or elasticsearch-service-x64 (on 64-bit Windows).

SERVICE_USERNAME

使用服务的用户名称, 默认为本机账户.

SERVICE_PASSWORD

用户为 %SERVICE_USERNAME% 指定的密码

SERVICE_DISPLAY_NAME

服务的名称,默认为 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 文件), 默认 %ES_HOME%\\conf.

ES_JAVA_OPTS

可能需要应用的任何其他JVM系统属性。

ES_START_TYPE

服务启动方式,auto or manual (默认手动).

ES_STOP_TIMEOUT

procrun等待服务正常退出的超时时间。默认为0 

elasticsearch-service.bat 依赖 Apache Commons Daemon 去安装服务. 先前为安装服务设置的环境变量将被复制,以在服务运行期间被使用. 也就是说,服务安装之后,对环境变量所做的修改将不会生效,除非重装服务。

在Windows上,当从命令行运行ES时,或者首次将ES作为服务安装时,可以将堆大小配置为任何其他Elasticsearch安装。此处不明白什么意思,原文:

On Windows, the heap size can be configured as for any other Elasticsearch installation when running Elasticsearch from the command line, or when installing Elasticsearch as a service for the first time. 

要调整已安装服务的堆大小,请使用服务管理器: bin\\elasticsearch-service.bat manager 。

使用Manager GUI

也可以使用manager GUI (elasticsearch-service-mgr.exe)在安装了服务之后,进行一系列配置。 Manager GUI可以观察已安装的服务,包括服务状态,启动类型,JVM,启动和停止等。可以使用

 elasticsearch-service.bat manager 从命令行启动manager GUI。

通过manager GUI进行的大多数更改(如JVM设置)将需要重新启动服务才能生效。

ES的目录结构

 下载的.zip 包是完全独立的。解压后,默认情况下,所有文件和目录都包含在%ES_HOME%中。

这是非常方便的,因为使用ES不必创建任何目录,并且卸载ES与删除目录一样简单%ES_HOME%目录。但是,建议更改config目录,数据目录和logs目录的默认位置,以便以后不会误删重要数据。

Type   Description Default Location Setting
home ES的根目录或%ES_HOME% zip解压的位置  
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

Shared file system repository locations.Can hold multiple locations.

A file system repository can be placed in to any subdirectory of any directory specified here.

(没看懂,直接上原文)

Not configured path.repo
script 脚本文件的位置 %ES_HOME%\\scripts path.scripts

下一步

 已经安装了ES的测试环境,在进行开发或者用在生成环境之前,还需要做一些配置:

  • 了解如何配置ES
  • 配置重要的ES设置
  • 配置重要的系统设置

以上是关于Elasticsearch安装的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch笔记九之优化

使用标准库Ruby将数据标记到Elasticsearch批量中

Elasticsearch:如何在 Elasticsearch 中正确使用同义词功能

Elasticsearch:如何在 Elasticsearch 中正确使用同义词功能

Elasticsearch-PHP 索引操作

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途