Window 下 Elasticsearch 5.5.1 的安装与配置

ElasticSearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。

#ES 安装

##安装 Java

ES 需要 Java 6 或更高版本,但建议安装 Java 7 及以上版本。

##安装 ES

安装 ES 特别方便,下载 ES 安装包后,直接解压即可。这里下载的是截止目前的最新版本 elasticsearch-5.1.1.zip,直接解压到 D 盘根目录,如下图:

这里写图片描述

#ES 目录结构

这里写图片描述

#ES 配置与运行

打开 ES 配置文件目录 config,可以看到有个名称为 elasticsearch.yml 的配置文件,打开该文件并修改如下:

这里写图片描述

其中,集群名称用来区分不同的集群,配置相同集群名字的节点则属于同一个集群,节点名称用来标识集群中的一个节点。

进入 ES 脚本目录 bin,根据操作系统来运行不同的脚本命令,Window 下为双击 elasticsearch.bat,Linux 下为 ./elasticsearch。

这里在 Window 下运行,如果双击后没有任何反应,查看服务也没有启动,则说明有错误,但好像这个版本没有 log 文件生成,目前不知道为何。所以可以通过命令行去执行 elasticsearch.bat,如图:

这里写图片描述

可以看到没有足够空间的错误导致没法启动 Java 虚拟机,故而导致 ES 无法启动,所以这里需要设定一下关联到单个 ES 实例的 JVM 的堆内存限制,对于小型部署来说默认内存限制 1024M 足够,但如果是大型应用则需要设置的更大一些,但通常不应该分配超过系统总内存的 50%。

可是查完配置文件后,配置文件中配置的是 2G,配置为 4G 同样报这个错误,是不是因为太大的缘故,所以修改为 1G,该错误消失。配置如图:

这里写图片描述

再次运行命令,报错如下:

这里写图片描述

这是因为较高版本的 JDK 编译的 Java class 文件试图在较低版本的 JVM 上运行产生的错误,我电脑默认配置的 java 版本为 JDK7,所以我尝试了一下用 JDK8 的版本 jdk1.8.0_66 来运行,启动正常,配置 elasticsearch-5.1.1\bin\elasticsearch.bat 如下:

这里写图片描述

看来随着 ES 版本的升级,编译时所需要的 JDK 版本也在一直上升,为了证实这一点,可以去官网说明文档中查看,果真如此,文档提示如下:

Elasticsearch requires at least Java 8. Specifically as of this writing, it is recommended that you use the Oracle JDK version 1.8.0_73.(ES至少需要Java 8,特别是在编写该文档时,建议使用Oracle JDK version 1.8.0_73版本。)

再次运行启动脚本,结果ES成功启动,如下图:

这里写图片描述

为了进一步尝试启动是否成功,可以打开浏览器,输入http://localhost:9200/,如果出现下面的结果,则说明启动成功。

{
  "name" : "FC01",
  "cluster_name" : "FirstCluster",
  "cluster_uuid" : "jMJhGirhSRa9Iw2fQtjJ5A",
  "version" : {
    "number" : "5.1.1",
    "build_hash" : "5395e21",
    "build_date" : "2016-12-06T12:36:15.409Z",
    "build_snapshot" : false,
    "lucene_version" : "6.3.0"
  },
  "tagline" : "You Know, for Search"
}

至此,ES 服务器搭建成功。

但是有没有注意到,这是在前台运行,如果关闭了命令行窗口,则 ES 服务器会停止,照样访问不了,所以建议用后台启动方式,步骤如下:

首先安装ES服务器后台启动服务,如图:

这里写图片描述

然后用后台方式启动ES服务器,如下:

这里写图片描述

也可以直接在Window系统的服务列表中找到安装的服务,然后右键启动。

#ES 交互工具

##安装

与 ES 交互的主要接口是基于 HTTP 协议和 REST 的,可以用 WEB 浏览器来完成基本的查询和请求,对于复杂情况,则另外需要命令行工具,如 curl。

如果是 Linux 系统,curl 命令应该可以直接使用了,但对于 Windows 系统,则需要自己安装该工具。

备注:curl的官网地址为:https://curl.haxx.se/download.html。

安装过程也很简单,下载 zip 包,解压到目录即可。这里下载的是 curl-7.52.1-win32-mingw 版本,也是目前最新版,直接解压到了 D 盘根目录。

##命令测试

用检查集群健康度的命令来测试该工具是否好用:

这里写图片描述

可以试试改变上面命令为如下,结果如何变化:

curl -XGET http://localhost:9200/_cluster/health

curl -XGET http://localhost:9200/

其它一些命令:

查看集群状态:curl -XGET http://localhost:9200/_cat/health?v
查看集群节点:curl -XGET http://localhost:9200/_cat/nodes?v
查询索引列表:curl -XGET http://localhost:9200/_cat/indices?v
创建索引:curl -XPUT http://localhost:9200/customer?pretty
查询索引:curl -XGET http://localhost:9200/customer/external/1?pretty
删除索引:curl -XDELETE http://localhost:9200/customer?pretty

#ES 停服与重启

##停止 ES 服务器

如果是前台启动,直接Ctrl+Z或者直接关掉命令行窗口,则服务器立即停止。

如果是通过后台启动的ES服务,则需要用如下命令停止服务器:

这里写图片描述

也可以直接在 Window 系统的服务列表中找到安装的服务,然后右键停止。

另外,还可以通过 curl 工具来关掉整个集群或者集群中的指定节点,命令如下:

关掉集群:curl -XPOST http://localhost:9200/-cluster/nodes/_shutdown。

关掉指定的节点,节点标识符为 jMJhGirhSRa9Iw2fQtjJ5A:curl -XPOST http://localhost:9200/_cluster/nodes/jMJhGirhSRa9Iw2fQtjJ5A/_shutdown。

##重启 ES 服务器

如果是想再次重启已经启动的 ES 服务,可以在 Window 系统的服务列表中找到安装的服务,然后右键重新启动即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值