Elasticsearch 5.5.1的安装与配置
2016年12月26日 18:25:15 Elasticsearch ⁄ 共 2787字 暂无评论 ⁄ 被围观 2,787次

1      ES安装

1.1  安装Java

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

1.2  安装ES

1.2.1       Window

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

1.2.2       Linux

2      ES目录结构

3      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/,如果出现下面的结果,则说明启动成功。

  1. {
  2.   "name" : "FC01",
  3.   "cluster_name" : "FirstCluster",
  4.   "cluster_uuid" : "jMJhGirhSRa9Iw2fQtjJ5A",
  5.   "version" : {
  6.     "number" : "5.1.1",
  7.     "build_hash" : "5395e21",
  8.     "build_date" : "2016-12-06T12:36:15.409Z",
  9.     "build_snapshot" : false,
  10.     "lucene_version" : "6.3.0"
  11.   },
  12.   "tagline" : "You Know, for Search"
  13. }

至此,ES服务器搭建成功,你搭建好了么^_^。

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

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

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

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

4      ES交互工具

4.1  安装

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

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

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

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

4.2  命令测试

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

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

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

5      ES停服与重启

5.1  停止ES服务器

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

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

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

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

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

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

5.2  重启ES服务器

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

未完,持续更新中。。。

给我留言

留言无头像?