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

devtools/2025/2/27 3:26:20/

【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.ppmy.cn/devtools/162948.html

相关文章

深入讲解微信小程序 <canvas> 标签的 type=“2d“属性

在微信小程序开发中&#xff0c;<canvas> 组件是一个非常强大的工具&#xff0c;允许开发者创建动态图形和动画。然而&#xff0c;正确设置 <canvas> 的 type 属性是确保其正常工作的关键之一。本文将深入探讨 type"2d" 属性的重要性、使用场景及其在实际…

高效日志管理与可视化:Loki与Grafana结合优化高频日志处理

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…

卷积这个词在卷积神经网络中应该怎么理解

卷积的定义 数学概念&#xff1a; 在数学上&#xff0c;卷积是一种操作&#xff0c;通常用于两个函数之间的运算。对于图像处理而言&#xff0c;这些函数通常是输入图像和一个称为“卷积核”或“滤波器”的小矩阵。 在CNN中的应用&#xff1a; 卷积操作是通过滑动窗口&#xf…

汽车智能制造企业数字化转型SAP解决方案总结

一、项目实施概述 项目阶段划分&#xff1a; 蓝图设计阶段主数据管理方案各模块蓝图设计方案下一阶段工作计划 关键里程碑&#xff1a; 2022年6月6日&#xff1a;项目启动会2022年12月1日&#xff1a;系统上线 二、总体目标 通过SAP实施&#xff0c;构建研产供销协同、业财一…

django model.object.filter 不等于多个值

关于Django中QuerySet.filter()的使用问题。首先&#xff0c;我会分别针对“不等于多个值”的代码开发问题和可能遇到的报错问题给出解答。 代码开发问题&#xff1a;QuerySet.filter()不等于多个值 在Django中&#xff0c;如果你想在查询中排除多个值&#xff0c;可以使用__i…

客户端进程突然结束,服务端read是什么行为?

read函数的行为 read返回0表示正常结束条件&#xff0c;而非错误&#xff0c;具体场景包括&#xff1a; 文件读取结束&#xff0c;到达文件末尾&#xff08;EOF&#xff09;连接关闭&#xff1a;在socket通信中&#xff0c;对端正常关闭连接&#xff08;如执行close()或进程终…

新书速览|鸿蒙HarmonyOS NEXT开发之路 卷1:ArkTS语言篇

《鸿蒙HarmonyOS NEXT开发之路 卷1&#xff1a;ArkTS语言篇》 1 本书内容 《鸿蒙HarmonyOS NEXT开发之路 卷1&#xff1a;ArkTS语言篇》全面、深入地介绍华为HarmonyOS NEXT操作系统中的ArkTS语言。《鸿蒙HarmonyOS NEXT开发之路 卷1&#xff1a;ArkTS语言篇》分为基础知识、A…

【找工作】C++和算法复习(自用)

文章目录 C头文件自定义排序函数stl 算法数据结构树状数组 数学字符串manacherkmp 自用随便记录 C 排序 stl 头文件 全能头文件&#xff1a; #include<bits/stdc.h>自定义排序函数 bool compare(const int &odd1,const int &odd2) {return odd1>odd2; }…