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

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

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


相关推荐
小苹果13571 小时前
阿里云mysql数据丢失,如何通过服务器备份在其他服务器上恢复数据,并获取mysql丢失数据,完成mysql数据恢复
服务器·mysql·阿里云
许白掰1 小时前
Linux入门篇学习——Linux 工具之 make 工具和 makefile 文件
linux·运维·服务器·前端·学习·编辑器
hrrrrb2 小时前
【TCP/IP】12. 文件传输协议
服务器·网络·tcp/ip
安全系统学习5 小时前
网络安全之RCE分析与利用详情
服务器·网络·安全·web安全·系统安全
longze_75 小时前
Ubuntu连接不上网络问题(Network is unreachable)
linux·服务器·ubuntu
风吹落叶花飘荡8 小时前
2025 Next.js项目提前编译并在服务器
服务器·开发语言·javascript
AmosTian8 小时前
【系统与工具】Linux——Linux简介、安装、简单使用
linux·运维·服务器
张先shen9 小时前
Elasticsearch RESTful API入门:基础搜索与查询DSL
大数据·spring boot·elasticsearch·搜索引擎·全文检索·restful