当前位置: 首页 > news >正文

elasticsearch基础概念与集群部署

一. 引言:

        elasticsearch(简称 es)是一款基于 Lucene 的分布式开源搜索引擎,专注于实时全文检索、数据分析与存储,广泛应用于日志分析、电商搜索、监控告警等场景。以下将详细介绍其基础概念与集群部署流程。

二.基础概念:

    理解 ES 的核心概念是使用和部署集群的前提,这些概念与传统数据库有一定类比性,但也有其独特性:

 1. Document(文档):ES 中最小的数据单元,是一组键值对(类似 JSON 对象),用于存储具体的业务数据(如一条日志、一个商品信息)。采用 JSON 格式存储,结构灵活;每个文档有唯一的 _id(可手动指定或自动生成),用于唯一标识文档;文档属于某个索引,并被分配到集群的某个分片中。

 2. Index(索引):文档的集合(类似关系型数据库中的 “表”),用于存储具有相似结构的文档(如 “商品索引”“用户索引”)。索引名称必须小写,且不能包含特殊字符;索引在创建时可定义映射(Mapping),指定字段类型(文本、数字、日期等)及分析器。

3. shard(分片):索引的最小存储和处理单元,是 Lucene 的实例(一个独立的搜索引擎)。由于单节点存储和处理能力有限,ES 将索引数据拆分到多个分片,实现分布式存储和并行查询。分片分为主分片和副本分片。

4. Node(节点):运行 ES 进程的单个服务器(物理机 / 虚拟机 / 容器),是集群的基本组成单元(也可以单实例多节点,但生产环境不建议这么干)。 节点类型分为:

   a). 主节点:负责集群元数据管理(如索引创建、分片分配),维护集群状态(集群名称、节点列表、分片分布等)。

  b).  数据节点: 负责数据的存储(分片)、索引和查询,是集群的 “工作节点”。

  c).  协调(投票)节点:   接收客户端请求,分发任务到其他节点,汇总结果返回。默认所有节点都是协调节点,可通过 node.master: false 和 node.data: false 配置为专用协调节点;

5. cluster(集群):由多个节点组成的集合,节点通过相同的 cluster.name 加入集群.

三. 集群部署:

 集群模式建议为3个节点。具体部署如下:

 1. 环境准备:


#系统
linux 、 禁用 swap(ES 性能依赖内存,swap 会导致性能下降);#硬件
每个节点至少 2 核 CPU、4GB 内存(生产环境建议 8 核 16GB+);
磁盘:SSD(提升 IO 性能),预留足够空间(根据数据量估算);

2.  用户配置: es 不允许 root 用户启动,需创建专用用户:

mkdir -p /data/elasticsearch
groupadd elasticsearch
useradd -g elasticsearch elasticsearch
chown -R elasticsearch:elasticsearch /data/elasticsearch -R

3. 下载安装包,部署:

su - elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-9.0.3-linux-aarch64.tar.gz
tar fxvz elasticsearch-9.0.3-linux-aarch64.tar.gzvim /etc/sysctl.conf
vm.max_map_count=262144   #不修改会启动失败
sysctl -p

 4.  生成证书:

bin/elasticsearch-certutil ca
bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12mkdir config/certscp elastic-*.p12 config/certs/#需要将生成的证书copy到集群的所有节点。

 5. 修改配置文件:

cluster.name: test
node.name: node3
path.data: /data/elasticsearch/data
path.logs: /data/elasticsearch/logs
network.host: 10.0.73.255
http.port: 9200
discovery.seed_hosts: ["10.0.36.165:9300", "10.0.101.73:9300","10.0.73.255:9300"]
cluster.initial_master_nodes: ["node1", "node2", "node3"]
xpack.security.enabled: true
xpack.security.http.ssl:enabled: false
xpack.security.transport.ssl:enabled: trueverification_mode: certificatekeystore.path: certs/elastic-certificates.p12truststore.path: certs/elastic-certificates.p12#其他节点,参考同配置

6. 配置用户密码:

bin/elasticsearch-reset-password -u elastic
This tool will reset the password of the [elastic] user to an autogenerated value.
The password will be printed in the console.
Please confirm that you would like to continue [y/N]yPassword for the [elastic] user successfully reset.
New value: PBW0*Yk1sdgsdgsdgTuS
启动服务: 
 bin/elasticsearch -d -p pid
三. 验证服务: 

 -------------------------------------------------------------------------------------

                         深耕运维行业多年,擅长运维体系建设,方案落地。欢迎交流!

                                                     V: ywjw996

                                                    《 运维经纬 》

http://www.dtcms.com/a/329866.html

相关文章:

  • 【16】Transformers快速入门:Token Embedding
  • JavaSE高级-01
  • cuDNN详解,从什么是cuDNN到实际应用过程
  • 肖臻《区块链技术与应用》第十二讲:比特币是匿名的吗?—— 深入解析匿名性、隐私风险与增强技术
  • 区块链DApp:颠覆未来的去中心化应用
  • 【Redis笔记】Redis 的通用命令
  • 字符串匹配算法
  • 认知系统的架构: 认知残余三角形、认知主体意识 和认知演进金字塔
  • UniApp开发常见问题及解决办法
  • 摆脱例行 SQL 报表的隐性成本:用 n8n 构建四节点自动化报告流程
  • 锂电池自动化生产线:智能制造重塑能源产业格局
  • ECCV-2018《Variational Wasserstein Clustering》
  • 【HTML】在页面中画一条0.5px的线
  • 聚焦用户价值,腾讯音乐Q2实现坚实增长
  • c++的运算符优先级
  • 嵌入式第二十七天(UI相关技术(framebuffer))
  • 如何通过api访问SearXNG
  • Open3d:从mesh中采样点云的两个函数
  • 不止于GET:掌握POST报错注入的精髓
  • HTML第二次作业
  • wandb: Network error (SSLError), entering retry loop
  • JavaWeb-XML、HTTP协议和Tomcat服务器
  • TF - IDF算法面试与工作常见问题全解析
  • 51单片机-51单片机最小系统
  • 基于大模型增强的知识图谱的嵌入学习模型的研究
  • 人工智能——CNN基础:卷积和池化
  • 【DL】最优化理论和深度学习
  • nginx匹配规则
  • 2023 年全国硕士研究生招生考试真题笔记
  • 部署在linux上的java服务老是挂掉[排查日志]