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

news/2025/2/23 6:29:27

【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.niftyadmin.cn/n/5863120.html

相关文章

机器学习 - 投票感知器

一、传统(经典)感知器的缺点 1、缺点 根据上一篇博文,如果训练数据是线性可分的,那么感知器可以找到一个判别函数来分割不同类的数据。如果间隔 𝛾 越大,收敛越快。但是感知器并不能保证找到的判别函数是…

进程间通信中间件---ZeroMQ

ZeroMQ(也称为 MQ 或 0MQ)是一个高性能的异步消息传递库,专为分布式或并发应用程序设计。它提供了多种通信模式(如请求-响应、发布-订阅等),并且可以在多种传输协议(如 TCP、IPC、PGM 等&#x…

体育数据网站推荐系统开发:赛事数据、前瞻分析与智能推荐

体育数据网站作为集赛事数据、前瞻分析、专家解读于一体的综合平台,其推荐系统的开发需要充分考虑多维度数据的整合与应用。本文将深入探讨如何构建一个智能化的体育数据推荐系统。 一、系统架构设计 数据采集层: 实时赛事数据API接入 专家分析内容抓…

怎麼利用靜態ISP住宅代理在指紋流覽器中管理社媒帳號?

靜態ISP住宅代理是一種基於真實住宅IP的代理服務。這類代理IP通常由互聯網服務提供商(ISP)分配,具有非常高的真實性,與普通數據中心代理相比,更不容易被平臺檢測到為“虛假IP”或“代理IP”,靜態ISP住宅代理…

【愚公系列】《鸿蒙原生应用开发从零基础到多实战》002-TypeScript 类型系统详解

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主&…

LeetCode51

LeetCode51 目录 题目描述示例思路分析代码段代码逐行讲解复杂度分析总结的知识点整合总结 题目描述 N 皇后问题:将 n 个皇后放置在 n x n 的棋盘上,使得皇后彼此之间不能相互攻击(即任何两个皇后不能在同一行、同一列或同一斜线上&#x…

Docker教程(喂饭级!)

如果你有跨平台开发的需求,或者对每次在新机器上部署项目感到头疼,那么 Docker 是你的理想选择!Docker 通过容器化技术将应用程序与其运行环境隔离,实现快速部署和跨平台支持,极大地简化了开发和部署流程。本文详细介绍…

线代[8]|北大丘维声教授《怎样学习线性代数?》(红色字体为博主注释)

文章目录 说明一、线性代数的内容简介二、学习线性代数的用处三、线性代数的特点四、学习线性代数的方法五、更新时间记录 说明 文章中红色字体为博主敲录完丘教授这篇文章后所加,刷到这篇文章的读者在首次阅读应当跳过红色字体,先通读一读文章全文&…