【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的客户端


相关推荐
techdashen17 分钟前
把 Matrix 聊天服务器搬到 Serverless 上,还顺便免费升级了量子加密
运维·服务器·serverless
似水এ᭄往昔30 分钟前
【Linux】--文件系统之软硬链接
linux·运维·服务器
乌萨奇也要立志学C++42 分钟前
【Linux】Socket编程UDP Echo 服务器→翻译服务器→多人聊天室
linux·服务器·udp
逸Y 仙X43 分钟前
文章二十:Elasticsearch高亮搜索完全指南
java·大数据·运维·elasticsearch·搜索引擎·全文检索
yyuuuzz1 小时前
国际云服务器的技术特性与使用场景
运维·服务器
代码中介商1 小时前
Linux多线程编程进阶:fork与锁的交互及网络编程入门
linux·运维·服务器
牛奶咖啡131 小时前
CI/CD——使用Jenkins实现自动化部署与持续集成
ci/cd·jenkins·jenkins是什么?有啥用·jenkins有哪些适用场景·jenkins的优缺点·jenkins的安装部署·jenkins安装必备环境
我不是立达刘宁宇1 小时前
权限提升-前置基础-linux
linux·运维·服务器
IOT.FIVE.NO.11 小时前
claude code desktop cowork报错解决和记录Workspace..The isolated Linux environment ...
linux·服务器·数据库
TOWE technology1 小时前
EN32/G2401FCI——32A大功率,24位国标输出的高密度配电方案
linux·服务器·网络·科技·数据中心·pdu·智能pdu