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


相关推荐
程序员编程指南20 分钟前
Qt 开发 IDE 插件开发指南
c语言·c++·ide·qt·elasticsearch
努力一点94821 分钟前
ubuntu22.04系统入门 linux入门(二) 简单命令 多实践以及相关文件管理命令
linux·运维·服务器·人工智能·gpu算力
MediaTea1 小时前
Python 库手册:getopt Unix 风格参数解析模块
服务器·开发语言·python·unix
利刃大大2 小时前
【在线五子棋对战】十一、整合封装服务器模块实现
运维·服务器·c++·项目·五子棋
UU_Yang2 小时前
Linux跑后台服务
linux·运维·服务器
Clownseven2 小时前
服务器地域选择指南:深度分析北京/上海/广州节点对网站速度的影响
运维·服务器
xw53 小时前
免费的个人网站托管-Cloudflare
服务器·前端
!win !3 小时前
免费的个人网站托管-Cloudflare
服务器·前端·开发工具
conkl4 小时前
嵌入式 Linux 深度解析:架构、原理与工程实践(增强版)
linux·运维·服务器·架构·php·底层·堆栈
AI视觉网奇6 小时前
whisper tokenizer
linux·运维·服务器