当前位置: 首页 > article >正文

【Elasticsearch】同一台服务器部署集群

【Elasticsearch】同一台服务器部署集群

  • 1. 同一台服务器搭建ES集群
  • 2. 配置不同的node节点
  • 3. ES集群中安装IK分词器
  • 4. 启动es集群
  • 5. Kibana访问集群
  • 6. es-head
  • 7. 集群中创建索引
    • 7.1 什么是分片以及分片的好处
    • 7.2 副本(Replication)
    • 7.3 通过es-head创建索引
  • 8. 集群工作原理
  • 9. 在Java中操作ES的客户端

1. 同一台服务器搭建ES集群

在这里插入图片描述
在这里插入图片描述

2. 配置不同的node节点

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
第一台机器 elasticsearch.yml
在这里插入图片描述


其他两台机器需要修改的地方

在这里插入图片描述

3. ES集群中安装IK分词器

在9201的包下面的plugins里面的ik分词器解压,解压出一个elasticsearch文件夹,将elasticsearch文件夹改名为analysis-ik的文件夹

然后再把这个analysis-ik的文件夹复制到9202、9203各一份
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 启动es集群

  1. es启动
    windows操作系统可以直接启动elasticsearch.bat
    centos or mac 直接运行elasticsearch脚本
  2. 集群启动
    mac 下的集群启动,三台机器都运行elasticsearch脚本

5. Kibana访问集群

在这里插入图片描述

在这里插入图片描述


在第一台机器的kibana.yml中修改为9201
在这里插入图片描述
运行kibana
在这里插入图片描述

6. es-head

连接的时候9201、9202、9203都可以
在这里插入图片描述

7. 集群中创建索引

集群中创建索引与单台机器创建索引是一样的。
分片的数量:默认是5,这里设置为3
分片是指 将数据拆分成多个部分,并分别存储在不同的服务器或节点上,从而实现数据水平扩展(scale out)。

副本数量:这里设置为1,每个分片一个备份,一个原始数据共计2份。

在这里插入图片描述

7.1 什么是分片以及分片的好处

分片(Sharding)
概念:分片是指 将数据拆分成多个部分,并分别存储在不同的服务器或节点上,从而实现数据水平扩展(scale out)。

  1. 特点
    数据拆分:每个分片存储不同的数据子集,不同分片之间的数据通常不重复。
    提高可扩展性:当数据量过大时,可以通过增加分片来分担存储和查询压力。
    减少单点瓶颈:每个分片可以独立处理查询,提高整体性能。
  2. 示例
    假设有一个包含 1 亿条用户数据 的数据库,直接存储在一个节点上会导致性能瓶颈。
    采用分片策略,可以 按照用户 ID 进行范围分片:
    服务器 A 存储 ID 1-30,000,000 的用户数据
    服务器 B 存储 ID 30,000,001-60,000,000 的用户数据
    服务器 C 存储 ID 60,000,001-100,000,000 的用户数据
    这样,每个服务器只处理自己的一部分数据,整体性能更高。

7.2 副本(Replication)

概念:副本是指复制数据的多个拷贝,并存储在不同的服务器或节点上,以提高系统的高可用性和 数据冗余度。

  1. 特点
    数据一致性:所有副本存储的是相同的数据,并通过同步机制保持一致。
    提高高可用性:当一个节点故障时,其他副本可以继续提供服务。
    读写分离:主副本负责写入,其他副本可以分担读取压力,提高查询性能。
  2. 示例
    一个数据库采用 主从复制(Master-Slave Replication):
    主数据库(Master) 负责写入操作,并将数据同步到多个 从数据库(Slaves)。
    读取请求可以由多个从库分担,从而减少主库压力,提高查询效率。
    如果 主库宕机,可以通过 选举 让某个从库升级为新的主库,保证系统的高可用性。

7.3 通过es-head创建索引

这里注意一个问题:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

8. 集群工作原理

shard分片
在这里插入图片描述

在这里插入图片描述

9. 在Java中操作ES的客户端

在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/562360.html

相关文章:

  • 从零开始用react + tailwindcs + express + mongodb实现一个聊天程序(三) 实现注册 登录接口
  • HarmonyOS学习第7天: 文本组件点亮界面的文字魔法棒
  • 2025年第16届蓝桥杯嵌入式竞赛学习笔记(十):ADC测量电压
  • 如何实现日志采集以及存储以及问题排查
  • 面试-JVM:JVM的组成及作用
  • 三品PDM管理系统:企业产品数据管理的“智慧大脑”,如何破解安全隐私难题?
  • 微信小程序开发中CSS书写常见问题及最佳实践
  • Node.js 内置模块简介(带示例)
  • 《零基础学会!如何用 sql+Python 绘制柱状图和折线图,数据可视化一看就懂》
  • Vue 异步组件的加载策略
  • 故障诊断 | Matlab实现基于DBO-BP-Bagging多特征分类预测/故障诊断
  • 22、《Spring Boot消息队列:RabbitMQ延迟队列与死信队列深度解析》
  • AcWing 蓝桥杯集训·每日一题2025
  • Part-DB部署
  • redis检测大key
  • 【够用就好006】-PC桌面管理ECS服务器的实操步骤
  • 【C++篇】树影摇曳,旋转无声:探寻AVL树的平衡之道
  • FastAPI高级特性(二):错误处理、中间件与应用生命周期
  • Redis-列表结构实操
  • Python 环境管理介绍