Elasticsearch【集群概念、搭建集群】(七)-全面详解(学习总结---从入门到深化)

news2024/12/27 3:30:21

目录

Elasticsearch集群_概念

Elasticsearch集群_搭建集群


Elasticsearch集群_概念

在单台ES服务器上,随着一个索引内数据的增多,会产生存储、效率、安全等问题。

1、假设项目中有一个500G大小的索引,但我们只有几台200G硬盘 的服务器,此时是不可能将索引放入其中某一台服务器中的。 

2、此时我们需要将索引拆分成多份,分别放入不同的服务器中,此时这几台服务器维护了同一个索引,我们称这几台服务器为一个集群,其中的每一台服务器为一个节点,每一台服务器中的数据 称为一个分片。 

3、此时如果某个节点故障,则会造成集群崩溃,所以每个节点的分 片往往还会创建副本,存放在其他节点中,此时一个节点的崩溃 就不会影响整个集群的正常运行。 

 节点(node):一个节点是集群中的一台服务器,是集群的一部分。它存储数据,参与集群的索引和搜索功能。集群中有一个为主 节点,主节点通过ES内部选举产生。

集群(cluster):一组节点组织在一起称为一个集群,它们共同持 有整个的数据,并一起提供索引和搜索功能。

分片(shards):ES可以把完整的索引分成多个分片,分别存储在 不同的节点上。

副本(replicas):ES可以为每个分片创建副本,提高查询效率, 保证在分片数据丢失后的恢复。

注: 分片的数量只能在索引创建时指定,索引创建后不能再更改 分片数量,但可以改变副本的数量。

为保证节点发生故障后集群的正常运行,ES不会将某个分片 和它的副本存在同一台节点上。 

实时学习反馈

1. 在Elasticsearch中,可以保证数据丢失后的恢复

A 节点

B 集群

C 分片

D 副本 

2. 一组节点组织在一起称为一个

A 索引

B 集群

C 分片

D 副本

Elasticsearch集群_搭建集群

安装第一个ES节点 

1、安装

#解压:
tar -zxvf elasticsearch-7.17.0-linux-x86_64.tar.gz

#重命名:
mv elasticsearch-7.17.0 myes1

#移动文件夹:
mv myes1 /usr/local/

#安装ik分词器
unzip /elasticsearch-analysis-ik-7.17.0.zip -d
/usr/local/myes1/plugins/analysis-ik

#安装拼音分词器
unzip /elasticsearch-analysis-pinyin-7.17.0.zip -d
/usr/local/myes1/plugins/analysis-pinyin

#es用户取得该文件夹权限:
chown -R es:es /usr/local/myes1

2、修改配置文件

#打开节点一配置文件:
vim /usr/local/myes1/config/elasticsearch.yml

配置如下信息:

#集群名称,保证唯一
cluster.name: my_elasticsearch

#节点名称,必须不一样
node.name: node1

#可以访问该节点的ip地址
network.host: 0.0.0.0

#该节点服务端口号
http.port: 9200

#集群间通信端口号
transport.tcp.port: 9300

#候选主节点的设备地址
discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]

#候选主节点的节点名
cluster.initial_master_nodes: ["node1","node2","node3"]

3 、启动

#切换为es用户:
su es

#后台启动第一个节点:
ES_JAVA_OPTS="-Xms512m -Xmx512m" /usr/local/myes1/bin/elasticsearch -d

安装第二个ES节点

1、安装

#解压:
tar -zxvf elasticsearch-7.17.0-linux-x86_64.tar.gz

#重命名:
mv elasticsearch-7.17.0 myes2

#移动文件夹:
mv myes2 /usr/local/

#安装ik分词器
unzip elasticsearch-analysis-ik-7.17.0.zip -d /usr/local/myes2/plugins/analysis-ik

#安装拼音分词器
unzip /elasticsearch-analysis-pinyin-7.17.0.zip -d /usr/local/myes2/plugins/analysis-pinyin

#es用户取得该文件夹权限:
chown -R es:es /usr/local/myes2

2、修改配置文件

#打开节点二配置文件:
vim /usr/local/myes2/config/elasticsearch.yml

配置如下信息:

#集群名称,保证唯一
cluster.name: my_elasticsearch

#节点名称,必须不一样
node.name: node2

#可以访问该节点的ip地址
network.host: 0.0.0.0

#该节点服务端口号
http.port: 9201

#集群间通信端口号
transport.tcp.port: 9301

#候选主节点的设备地址
discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]

#候选主节点的节点名
cluster.initial_master_nodes: ["node1","node2","node3"]

3、启动

#切换为es用户:
su es

#后台启动第二个节点:
ES_JAVA_OPTS="-Xms512m -Xmx512m" /usr/local/myes2/bin/elasticsearch -d

安装第三个ES节点

1、安装

#解压:
tar -zxvf elasticsearch-7.17.0-linux-x86_64.tar.gz

#重命名:
mv elasticsearch-7.17.0 myes3

#移动文件夹:
mv myes3 /usr/local/

#安装ik分词器
unzip elasticsearch-analysis-ik-7.17.0.zip -d /usr/local/myes3/plugins/analysis-ik

#安装拼音分词器
unzip /elasticsearch-analysis-pinyin-7.17.0.zip -d /usr/local/myes3/plugins/analysis-pinyin

#es用户取得该文件夹权限:
chown -R es:es /usr/local/myes3

2、修改配置文件

#打开节点一配置文件:
vim /usr/local/myes3/config/elasticsearch.yml

配置如下信息:

#集群名称,保证唯一
cluster.name: my_elasticsearch

#节点名称,必须不一样
node.name: node3

#可以访问该节点的ip地址
network.host: 0.0.0.0

#该节点服务端口号
http.port: 9202

#集群间通信端口号
transport.tcp.port: 9302

#候选主节点的设备地址
discovery.seed_hosts: ["127.0.0.1:9300","127.0.0.1:9301","127.0.0.1:9302"]

#候选主节点的节点名
cluster.initial_master_nodes:["node1","node2","node3"]

3、启动

#切换为es用户:
su es

#后台启动第三个节点:
ES_JAVA_OPTS="-Xms512m -Xmx512m" /usr/local/myes3/bin/elasticsearch -d

测试集群

访问 http://虚拟机IP:9200/_cat/nodes 查看是否集群搭建成功。

kibana连接es集群 

1、在kibana中访问集群

# 打开kibana配置文件
vim /usr/local/kibana-7.17.0-linux-x86_64/config/kibana.yml

添加如下配置

# 该集群的所有节点
elasticsearch.hosts: ["http://虚拟机IP:9200","http://虚拟机IP:9201","http://虚拟机IP:9202"]

2、启动kibana

#切换为es用户:
su es

#启动kibana:
/usr/local/kibana-7.17.0-linux-x86_64/bin/kibana

3、访问kibana: http://虚拟机IP:5601

实时学习反馈

1. 在Elasticsearch中,查看是否集群搭建成功的请求路径为

A /_cat/nodes

B /nodes

C /_cat/node

D node

复习:

Elasticsearch介绍_全文检索

Elasticsearch是一个全文检索服务器

全文检索是一种非结构化数据的搜索方式 

  • 结构化数据:指具有固定格式固定长度的数据,如数据库中的字段。
  • 非结构化数据:指格式和长度不固定的数据,如电商网站的商品详情。

 

结构化数据一般存入数据库,使用sql语句即可快速查询。但由于非结构化数据的数据量大且格式不固定,我们需要采用全文检索的方式进行搜索。全文检索通过建立倒排索引加快搜索效率。 

实时学习反馈

1. 什么是非结构化数据?

A 格式和长度固定的数据

B 格式和长度不固定的数据

C 格式固定的数据

D 长度固定的数据

2. 全文检索是

A 一种非结构化数据的搜索方式

B 一种结构化数据的搜索方式

C 一种非结构化数据的保存方式

D 一种结构化数据的保存方式 

Elasticsearch介绍_倒排索引

索引 

将数据中的一部分信息提取出来,重新组织成一定的数据结构,我 们可以根据该结构进行快速搜索,这样的结构称之为索引。 索引即目录,例如字典会将字的拼音提取出来做成目录,通过目录 即可快速找到字的位置。 索引分为正排索引倒排索引

正排索引(正向索引)

将文档id建立为索引,通过id快速可以快速查找数据。如数据库中 的主键就会创建正排索引。

倒排索引(反向索引) 

非结构化数据中我们往往会根据关键词查询数据。此时我们将数据中的关键词建立为索引,指向文档数据,这样的索引称为倒排索引。

创建倒排索引流程:

实时学习反馈

1. 索引分为

A 正排索引和无序索引

B 正排索引和倒排索引

C 无序索引和有序索引

D 有序索引和倒排索引

2. 将数据中的关键词建立为索引,指向文档数据,这样的索引称为

A 无序索引

B 有序索引

C 正排索引

D 倒排索引 

Elasticsearch介绍_Elasticsearch的出现

 多年前,一个刚结婚的名叫Shay的失业开发者,跟着妻子去了伦敦,他的妻子在那里学习厨师。Shay使用全文检索工具—— lucene,给他的妻子做一个食谱搜索引擎。

但Lucene的操作非常复杂,且Lucene是一个单机软件,不支持联网访问。因此 Shay基于Lucene开发了开源项目 Elasticsearch。 Elasticsearch本质是一个java语言开发的web项目,我们可以通过 RESTful风格的接口访问该项目内部的Lucene,从而让全文搜索变得简单。 

从此以后,Elasticsearch成为了Github上最活跃的项目之一, Elastic公司围绕Elasticsearch提供商业服务,并开发新的特性。 Elasticsearch将永远开源并对所有人可用。

实时学习反馈

1. Elasticsearch本质是一个

A python语言开发的web项目

B javascript语言开发的web项目

C java语言开发的web项目

D java语言开发的普通项目 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/734912.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Debezium日常分享系列之:流式传输 Cassandra

Debezium日常分享系列之:流式传输 Cassandra 一、批量 ETL 选项二、流媒体选项三、Kafka 作为事件源四、解析提交日志五、提交日志深入探讨1.延迟处理2.空间管理3.重复的事件4.无序事件5.带外架构更改6.行数据不完整 六、最低限度可行的基础设施1.无状态流处理2.有状…

45. 跳跃游戏 II (贪心)

题目链接:力扣 解题思路:贪心,尽可能地找到下一跳能够跳到的最远距离,这样到达终点时,所需跳跃次数最少 以nums [2,3,1,1,4,2]为例: 以当前位置begin作为起跳点,能够跳跃的最远距离为m&#…

影视剧配音软件哪个好?几款好用的影视剧配音软件推荐

影视剧配音软件哪个好?几款好用的影视剧配音软件推荐 我们日常刷短视频的时候,经常会刷到一些影视剧相关的作品,特别是一些大热剧及经典剧,很多创作者都喜欢融入自己的解读,进行一些加工,形成一部的独一无…

STM32 Mac开发环境Clion+STM32CubeMX+ST-Link-V2

STM32 Mac开发环境ClionSTM32CubeMXST-Link-V2 也不知道什么时候买的stm32板吃灰太久,不会玩,环境之前都没搞定,今天又折腾一天终于可以点灯了。 安装编译器gcc brew tap ArmMbed/homebrew-formulae brew install arm-none-eabi-gccOPEN-O…

Qt提取excel表单中数据

这是一个excel表单,目标是把其中的数据提取出来。 文章学习自:QT中将excel中的数据快速的读取出来显示在tablewidget中/将tablewidget中的数据快速的写入excel中_qt将excel表格中指定范围内容显示在界面中_Jessica_1409573408的博客-CSDN博客 程序如下&…

前端CSS

基础语法 /*CSS注释 */ CSS样式 CSS应用方式 内联式 在标签上写样式 <img src"..." style"height:100px" /><div style"color:red;">中国联通</div> 嵌入式 在head标签中写style标签 外联式 样式写到文件中&#xff0…

网页链接投票链接步骤公众号投票链接制作制作投票

大家在选择投票小程序之前&#xff0c;可以先梳理一下自己的投票评选活动是哪种类型&#xff0c;目前有匿名投票、图文投票、视频投票、赛事征集投票等。 我们现在要以“笛乐悠扬”为主题进行一次投票活动&#xff0c;我们可以在在微信小程序搜索&#xff0c;“活动星”投票小程…

语言模型BERT理解

一、BERT概述 BERT是由Google在2018年提出的一种预训练语言模型。BERT的创新之处在于采用了双向Transformer编码器来生成上下文相关的词向量表示。 传统的单向语言模型只考虑了左侧或右侧的上下文信息&#xff0c;而BERT则同时考虑了左侧和右侧的上下文信息&#xff0c;使得生…

YOLOv5改进系列(15)——增加小目标检测层

【YOLOv5改进系列】前期回顾: YOLOv5改进系列(0)——重要性能指标与训练结果评价及分析 YOLOv5改进系列(1)——添加SE注意力机制

手把手教您kaiber,吊炸天的AI视频生成工具

什么是Kaiber AI&#xff1f; 一种人工智能视频生成器&#xff0c;可以将图像和文字生成视频。 如何使用Kaiber AI&#xff1f; 请按照以下步骤使用 Kaiber AI&#xff1a; 前往kaiber ai注册或登录。点击右上角“创建视频”。 如果订阅的时候提示要绑定银行卡&#xff0c;则找…

Basics——指针和引用(详解)

指针和引用 1.初始化规则2.面试题 &#xff1a;引用和指针的区别是什么3.引用使用场景4.拓展 为什么C支持引用而C没有 1.初始化规则 指针和引用在初始化方面有不同的规则&#xff1a; 指针的初始化规则&#xff1a; 直接初始化&#xff1a;可以将指针初始化为指向特定变量或…

Linux系统运行时参数命令(性能监控、测试)(3)网络IO性能监控

目录 5. 网络IO性能监控5.1 性能指标5.2 网络信息5.2.1 网络配置5.2.2 套接字信息5.2.3 网络吞吐-sar命令5.2.4 连通性和延时 5.3 其他常用的网络相关命令5.3.1 telnet5.3.2 nc5.3.3 tcpdump5.3.4 lsof5.3.5 nmap 6.其他工具6.1 nmon性能监控6.2 glances系统监控 5. 网络IO性能…

Js提升:如何实现图片懒加载

知其然&#xff0c;更要知其所有然&#xff0c;在不同场景下该用什么方法&#xff0c;如何做到最优。 为什么要出现图片懒加载&#xff0c;解决了什么问题&#xff1f;除了懒加载&#xff0c;还有预加载呢&#xff1f;什么是预加载&#xff0c;怎么实现&#xff0c;相比于懒加载…

软件设计模式与体系结构-软件体系-层次软件体系结构

目录 四、层次软件体系结构简介代码两种方式的区别双向分层分层风格 VS 主程序-子过程风格&#xff1a;二者的不同层次软件体系结构的优点层次软件体系结构的缺点 课程作业 四、层次软件体系结构 层次之间存在接口&#xff0c;通过接口形成call/return的关系&#xff0c;上层是…

【内存优化】内存优化以及oom排查整体思路

linux疑难问题排查实战专栏&#xff0c;分享了作为公司专家&#xff0c;在解决内存、性能、各类死机等疑难问题的排查经验&#xff0c;认真学习可以让你在日后工作中大放光彩。 本文总结介绍了项目开发过程中oom排查和内存优化的一些方法&#xff0c;主要是从内存问题查看到堆内…

阿里云轻量服务器和ecs区别(最新更新)

阿里云服务器ECS和轻量应用服务器有什么区别&#xff1f;云服务器ECS是明星级云服务器&#xff0c;轻量应用服务器可以理解为简化版的云服务器ECS&#xff0c;轻量适用于单机应用&#xff0c;云服务器ECS适用于集群类高可用高容灾应用&#xff0c;阿里云百科来详细说下阿里云轻…

组合模式:如何设计实现支持递归遍历的文件系统目录树结构?

组合模式跟我们之前讲的面向对象设计中的“组合关系&#xff08;通过组合来组装两个类&#xff09;”&#xff0c;完全是两码事。这里讲的“组合模式”&#xff0c;主要是用来处理树形结构数据。这里的“数据”&#xff0c;你可以简单理解为一组对象集合&#xff0c;待会我们会…

使用 geopandas 和 shapely(.shp) 进行地理空间数据处理和可视化

文章目录 前言1. 安装所需库2. 读取 Shapefile 文件3. 可视化地图4. 用户输入坐标和清除指定区域内的图形5. 可视化删除指定区域内的图形之后的地图6. 保存为新的 Shapefile (.shp)文件完整代码及解析分析说明 测试文件地址特别说明完结 前言 在地理信息系统&#xff08;Geogra…

力扣竞赛勋章 | 排名分数计算脚本

文章目录 力扣竞赛勋章介绍竞赛评分算法脚本&#xff08;本文的重点内容&#xff09;运行结果 代码修改自&#xff1a;https://leetcode.cn/circle/discuss/6gnvEj/ 原帖子的代码无法正常运行。 力扣竞赛勋章介绍 https://leetcode.cn/circle/discuss/0fKGDu/ 如果你想知道自…

【Elasticsearch】初识elasticsearch

目录 初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 1.1.2.ELK技术栈 1.1.3.elasticsearch和lucene 1.1.4.为什么不是其他搜索技术&#xff1f; 1.1.5.总结 1.2.倒排索引 1.2.1.正向索引 1.2.2.倒排索引 1.2.3.正向和倒排 1.3.es的一些概念 1.3.1.文档…