详解Elasticsearch的安装和配置

Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。

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 安装步骤

下载 Elasticsearch 7.2.1

下载地址:https://www.elastic.co/cn/downloads/elasticsearch

Elasticsearch 7.x 安装及配置指导Elasticsearch 7.x 安装及配置指导

如图,下载对应需要的 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.x 安装及配置指导Elasticsearch 7.x 安装及配置指导

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 配置文件,默认配置如下:

-Xms1g
-Xmx1g

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 根目录下面,执行启动脚本文件:

cd elasticsearch-7.2.1
bin/elasticsearch

运行完后,会出现下面的日志:

future versions of Elasticsearch will require Java 11; your Java version from [/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre] does not meet this requirement

... 省略

[2019-08-16T16:29:53,069][INFO ][o.e.n.Node               ] [BYSocketdeMacBook-Pro-2.local] started
[2019-08-16T16:29:53,478][INFO ][o.e.l.LicenseService     ] [BYSocketdeMacBook-Pro-2.local] license [ef60f54d-4964-4cb6-98ac-aafdc0f2a4c0] mode [basic] - valid
[2019-08-16T16:29:53,491][INFO ][o.e.g.GatewayService     ] [BYSocketdeMacBook-Pro-2.local] recovered [0] indices into cluster_state
[2019-08-16T16:30:23,057][INFO ][o.e.c.r.a.DiskThresholdMonitor] [BYSocketdeMacBook-Pro-2.local] low disk watermark [85%] exceeded on [DRs4DZO0SzCaYz3n3vA3Fg][BYSocketdeMacBook-Pro-2.local][/javaee/es/elasticsearch-7.2.1/data/nodes/0] free: 49.2gb[10.6%], replicas will not be assigned to this node

日志中有两个信息需要注意:

本机环境是 JDK 8 ,它会提醒后面版本需要 JDK 11 支持。但它是向下兼容的

表示本机 ES 启动成功 [BYSocketdeMacBook-Pro-2.local] started

2.3 验证是否启动成功

打开浏览器,输入 http://localhost:9200/ 地址,然后可以得到下面的信息:

{
   "name""BYSocketdeMacBook-Pro-2.local",
   "cluster_name""elasticsearch",
   "cluster_uuid""tc9h17oqSHKvGJb3qK2tPg",
   "version": {
       "number""7.2.1",
       "build_flavor""default",
       "build_type""tar",
       "build_hash""fe6cb20",
       "build_date""2019-07-24T17:58:29.979462Z",
       "build_snapshot"false,
       "lucene_version""8.0.0",
       "minimum_wire_compatibility_version""6.8.0",
       "minimum_index_compatibility_version""6.0.0-beta1"
   },
   "tagline""You Know, for Search"
}

重点几个关注下即可:

– name : 默认启动的时候指定了 ES 实例名称,name 为 BYSocketdeMacBook-Pro-2.local

– cluster_name : 默认名为 elasticsearch

– version :版本信息

同样通过 http://localhost:9200/_cat/nodes?v 地址,可以看到当前节点信息,如下:

127.0.0.1 30 100 22 2.87 mdi * BYSocketdeMacBook-Pro-2.local

2.4 单机集群多个 ES 实例安装

单机多个 ES 实例,形成一个 ES 单机伪集群,启动脚本如下:

bin/elasticsearch -E node.name=node01 -E cluster.name=bysocket_es_cluster -E path.data=node01_data -d

bin/elasticsearch -E node.name=node02 -E cluster.name=bysocket_es_cluster -E path.data=node02_data -d

bin/elasticsearch -E node.name=node03 -E cluster.name=bysocket_es_cluster -E path.data=node03_data -d

bin/elasticsearch -E node.name=node04 -E cluster.name=bysocket_es_cluster -E path.data=node04_data -d

命令简单解释如下:

node.name : ES 节点名称,即实例名

cluster.name : ES 集群名称

path.data : 指定了存储文档数据目录

执行完脚本后,需要等一会 ES 启动,也可以查看 logs 看看执行情况。

Elasticsearch 7.x 安装及配置指导Elasticsearch 7.x 安装及配置指导

打开浏览器,输入 http://localhost:9200/_cat/nodes?v 地址,可以看到启动情况:node01 为当前 master 节点

如何关闭集群中的 ES 实例,可以使用简单的命令实现:

ps | grep elasticsearch
kill -9 pid

Elasticsearch 7.x 插件概述

插件是用来增强 Elasticsearch 功能的方法,分为 核心插件(官方) & 社区插件。

安装 analysis-icu ICU 分析插件,命令如下:

sudo bin/elasticsearch-plugin install analysis-icu

查看已安装的插件,命令如下:

bin/elasticsearch-plugin list

删除已安装的插件,命令如下:

sudo bin/elasticsearch-plugin remove analysis-icu

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/221852.html<

(0)
管理的头像管理
上一篇2025-04-15 05:38
下一篇 2025-04-15 05:40

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注