Elasticsearch集群搭建

集群概念

在单台 ES 服务器上,随着一个索引内数据的增多,会产生存储、效 率、安全等问题。

因此引入集群
我们需要将索引拆分成多份,分别放入不同的服务器中,此时这几台服务器维护了同一个索引,我们称这几台服务器为一个 集群 ,其中的每一台服务器为一个 节点 ,每一台服务器中的数据
称为一个 分片。
由于副本机制的存在
此时如果某个节点故障,则会造成集群崩溃,所以每个节点的分片往往还会创建副本 ,存放在 其他节点 中,此时一个节点的崩溃就不会影响整个集群的正常运行。

集群

一组节点组织在一起称为一个集群,它们共同持有整个的数据,并一起提供索引和搜索功能。

节点

一个节点是集群中的一台服务器,是集群的一部分。它存储数据,参与集群的索引和搜索功能。集群中有一个为主节点,主节点通过ES 内部选举产生。

分片

ES 可以把完整的索引分成多个分片,分别存储在 不同的节点上。

副本

ES 可以为每个分片创建副本,提高查询效率,保证在分片数据丢失后的恢复。
此外
1.分片的数量只能在索引创建时指定,索引创建后不能再更改分片数量,但可以改变副本的数量。

2.为保证节点发生故障后集群的正常运行,ES不会将某个分片和它的副本存在同一台节点上。

安装第一个节点

1.修改系统进程最大打开文件数

vim /etc/security/limits.conf

添加如下内容

es soft nofile 65535
es hard nofile 131072

2.安装

解压:

tar -zxvf elasticsearch-8.10.4-linux-x86_64.tar.gz -C /usr/local/
#重命名
mv elasticsearch-8.10.4 myes1

安装 ik 分词器

unzip elasticsearch-analysis-ik-8.10.4.zip -d /usr/local/myes1/plugins/analysis-ik

安装拼音分词器

unzip elasticsearch-analysis-pinyin-8.10.4.zip -d /usr/local/myes1/plugins/analysis-pinyin
#给当前普通用户取得该文件夹权限:
chown -R es1:es1 /usr/local/myes1

3.修改配置文件

打开节点一配置文件:

vim /usr/local/myes1/config/elasticsearch.yml

加入以下配置

java 复制代码
#集群名称,保证唯一
cluster.name: my_elasticsearch
#节点名称,必须不一样
node.name: node1
#可以访问该节点的ip地址
network.host: 0.0.0.0
#该节点服务端口号
http.port: 9200
#集群间通信端口号
transport.port: 9300
#候选主节点的设备地址
discovery.seed_hosts:
["127.0.0.1:9300","127.0.0.1:9301","127.0.0.
1:9302"]
#候选主节点的节点名
cluster.initial_master_nodes:
["node1","node2","node3"]
#关闭安全认证
xpack.security.enabled: false

4.启动

切换为 es 用户:

su es

后台启动第一个节点:

ES_JAVA_OPTS = "-Xms512m -Xmx512m" /usr/local/myes1/bin/elasticsearch -d

另外两节点 操作同上

但在修改elasticsearch.yml配置文件时不一样

第二节点

节点名称,必须不一样

node.name : node2

该节点服务端口号

http.port : 9201

集群间通信端口号

transport.port : 9301
第三节点

节点名称,必须不一样

node.name : node3

该节点服务端口号

http.port : 9202

集群间通信端口号

transport.port : 9302

验证:

访问

http://虚拟机ip:9200/_cat/nodes

出现下列信息,则代表集群成功启动

如何验证每个节点是否成功启动

curl 虚拟机ip**:**节点端口号

关闭该节点

1.查看进程

ps -ef |grep elastic

2.杀死该进程

kill -9 进程号

相关推荐
cc5725026531 小时前
高考志愿填报:大数据相关专业到底怎么选?
大数据·高考
本旺1 小时前
Elasticsearch 前缀匹配性能优化实战,附4种方式即执行计划判别
大数据·elasticsearch·性能优化
hhzz2 小时前
Python大数据实战(十六):音乐推荐系统——基于协同过滤算法构建个性化歌单引擎
大数据·人工智能·python·数据挖掘·数据分析
泛普软件4 小时前
工程合约管理软件具备哪些核心功能,解决合同结算各类纠纷难题
大数据·人工智能·区块链
Elastic 中国社区官方博客6 小时前
Elastic 在 Everest Group 企业搜索产品 PEAK Matrix® 评估 2026 中被评为领导者
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
重庆传粉科技7 小时前
传粉科技助力美国房产经纪企业Homequest开拓中国市场
大数据·人工智能
Java小白笔记7 小时前
Codex Skills 分类整理
大数据·人工智能·elasticsearch·搜索引擎·ai·ai编程·ai写作
杨逢昌工厂6S管理8 小时前
26-杨逢昌:制造企业6S改善提案落地低效解决方案——四级分级激励标准化体系,成效验证:车间现场熵增隐患下降65%。
大数据
一只专注api接口开发的技术猿8 小时前
电商评论自动化监控与情感数据分析完整落地教程(附可直接运行 Python 代码)
大数据·数据库·python·数据分析·自动化
AIGS0019 小时前
企业AI落地:Agent OS 治理框架实践
java·大数据·人工智能·机器学习·人工智能ai大模型应用