一、Elasticsearch 7.x
小马哥说过,学习技术栈得看版本,那么 Elasticsearch 7.x 有什么好的特性呢?
ES 7.0 是 2019 年 4 月份发布的,底层是 Lucene 8.0。其他还有需要了解的是:
- 废除单个索引下多 Type 的支持
- ES Security 免费使用
- ECK - ES Operator on K8s
- 新功能:New Cluster coordination
- 新功能:完整的 High Level REST Client
- 新功能:Script Score Query
- 性能:默认 Primary Shard 数从 5 到 1 ,避免 Over Sharding;性能优化更快的 Top K
二、Elasticsearch 7.x 安装步骤
2.1 下载 Elasticsearch 7.2.1
下载地址:https://www.elastic.co/cn/downloads/elasticsearch
如图,下载对应需要的 ES 。我这边是 MacOS ,所以直接下载了 MacOS 的本。另外 ES 支持 Docker 方式启动。另外,ES 7.x 不需要本地 JDK 环境支持:
- ES 5,安装需要 JDK 8 以上
- ES 6.5,安装需要 JDK 11 以上
- ES 7.2.1,内置了 JDK 12
下载完后,ES 文件目录结构如下图所示:
Elasticsearch 7.2.1 目录结构如下:
- bin :脚本文件,包括 ES 启动 & 安装插件等等
- config :elasticsearch.yml(ES 配置文件)、jvm.options(JVM 配置文件)、日志配置文件等等
- JDK :内置的 JDK,JAVA_VERSION="12.0.1"
- lib :类库
- logs :日志文件
- modules :ES 所有模块,包括 X-pack 等
- plugins :ES 已经安装的插件。默认没有插件
- data :ES 启动的时候,会有该目录,用来存储文档数据。该目录可以设置
具体看看关键的 jvm.options JVM 配置文件,默认配置如下:
ES 默认安装后设置的堆内存是 1 GB,对于任何业务来说这个设置肯定是少了。那设置多少?
推荐:如果足够的内存,也尽量不要 超过 32 GB。即每个节点内存分配不超过 32 GB。因为它浪费了内存,降低了 CPU 的性能,还要让 GC 应对大内存。如果你想保证其安全可靠,设置堆内存为 31 GB 是一个安全的选择。
上述推荐,理由来自《堆内存:大小和交换编辑》:https://www.elastic.co/guide/cn/elasticsearch/guide/current/heap-sizing.html
2.2 启动 Elasticsearch 7.2.1
启动方式很简单,在 ES 根目录下面,执行启动脚本文件:
运行完后,会出现下面的日志:
日志中有两个信息需要注意:
- 本机环境是 JDK 8 ,它会提醒后面版本需要 JDK 11 支持。但它是向下兼容的
- 表示本机 ES 启动成功 [BYSocketdeMacBook-Pro-2.local] started
2.3 验证是否启动成功
打开浏览器,输入 http://localhost:9200/ 地址,然后可以得到下面的信息:
重点几个关注下即可:
- name :默认启动的时候指定了 ES 实例名称,name 为 BYSocketdeMacBook-Pro-2.local
- cluster_name :默认名为 elasticsearch
- version :版本信息
同样通过 http://localhost:9200/_cat/nodes?v 地址,可以看到当前节点信息,如下:
2.4 单机集群多个 ES 实例安装
单机多个 ES 实例,形成一个 ES 单机伪集群,启动脚本如下:
命令简单解释如下:
- node.name :ES 节点名称,即实例名
- cluster.name :ES 集群名称
- path.data :指定了存储文档数据目录
执行完脚本后,需要等一会 ES 启动,也可以查看 logs 看看执行情况。
打开浏览器,输入 http://localhost:9200/_cat/nodes?v 地址,可以看到启动情况:node01 为当前 master 节点
如何关闭集群中的 ES 实例,可以使用简单的命令实现:
三、Elasticsearch 7.x 插件概述
插件是用来增强 Elasticsearch 功能的方法,分为 核心插件(官方) & 社区插件。
安装 analysis-icu ICU 分析插件,命令如下:
查看已安装的插件,命令如下:
删除已安装的插件,命令如下:
四、小结
本文介绍了两种安装以及插件安装,因为方便学习集群相关的知识点。另外注意 JVM 配置相关的优化即可。后续继续 Elasticsearch 7.x 操作学习 ~
(完)原创不易,帮转 ~
资料:
- 极客时间课程
- 官网资料 https://www.elastic.co
- bysocket.com
END
长按二维码,扫扫关注哦
如果文章对你有帮助的话
转发一下是最好