openEuler 下部署 Elasticsearch - 教程

news/2026/1/19 18:07:02/文章来源:https://www.cnblogs.com/gccbuaa/p/19503251

分布式搜索与分析引擎,广泛用于日志分析、全文检索等场景。本文基于 openEuler 22.03 LTS 系统,从环境准备、单节点部署、集群搭建、效果验证到运维优化,提供可落地的部署指南。就是Elasticsearch(简称 ES)
一、环境准备

  1. 系统基础配置
    openEuler 默认设置需调整以适配 ES 的资源要求:
    bash
    运行

切换root用户

su root

1. 关闭防火墙(测试环境,生产环境需开放9200/9300端口)

systemctl stop firewalld
systemctl disable firewalld

2. 临时关闭SELinux(永久关闭需修改/etc/selinux/config)

setenforce 0

3. 调整虚拟内存(ES要求vm.max_map_count≥262144)

sysctl -w vm.max_map_count=262144
echo “vm.max_map_count=262144” >> /etc/sysctl.conf
sysctl -p

4. 安装依赖包

dnf install -y java-11-openjdk-devel wget
2. 下载 Elasticsearch 安装包
选择与 openEuler 架构匹配的 ES 版本(以 7.17.10 为例,适配 openEuler 22.03):
bash
运行

下载安装包(x86_64架构)

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.10-linux-x86_64.tar.gz

若为ARM64架构,替换为对应包:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.10-linux-aarch64.tar.gz

解压包

tar -zxvf elasticsearch-7.17.10-linux-x86_64.tar.gz
mv elasticsearch-7.17.10 /usr/local/elasticsearch
二、单节点部署

  1. 创建 ES 专属用户
    ES 不允许 root 用户启动,需创建系统用户:
    bash
    运行

创建用户组与用户

groupadd elasticsearch
useradd -g elasticsearch elasticsearch

授权目录权限

chown -R elasticsearch:elasticsearch /usr/local/elasticsearch
2. 部署 ES 核心参数
编辑 ES 配置文件/usr/local/elasticsearch/config/elasticsearch.yml:
yaml

集群名称(自定义)

cluster.name: es-cluster

节点名称(自定义)

node.name: es-node-1

信息存储路径

path.data: /usr/local/elasticsearch/data

日志存储路径

path.logs: /usr/local/elasticsearch/logs

绑定IP(0.0.0.0允许所有IP访问)

network.host: 0.0.0.0

HTTP端口(默认9200)

http.port: 9200

集群初始化主节点(单节点为自身)

cluster.initial_master_nodes: [“es-node-1”]
3. 启动 ES 服务
bash
运行

切换到elasticsearch用户

su elasticsearch

后台启动ES

cd /usr/local/elasticsearch
./bin/elasticsearch -d

验证启动状态(返回JSON信息则成功)

curl http://localhost:9200
三、集群部署(3 节点示例)
以节点1(192.168.1.10)、节点2(192.168.1.11)、节点3(192.168.1.12)为例,在单节点基础上调整配置:

  1. 所有节点统一配置elasticsearch.yml
    yaml
    cluster.name: es-cluster

各节点名称需唯一(如es-node-1、es-node-2、es-node-3)

node.name: es-node-1
path.data: /usr/local/elasticsearch/data
path.logs: /usr/local/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200

集群节点发现列表(所有节点IP)

discovery.seed_hosts: [“192.168.1.10”, “192.168.1.11”, “192.168.1.12”]

初始化主节点(所有节点名称)

cluster.initial_master_nodes: [“es-node-1”, “es-node-2”, “es-node-3”]
2. 依次启动所有节点
bash
运行
su elasticsearch
cd /usr/local/elasticsearch
./bin/elasticsearch -d
3. 验证集群状态
bash
运行

查看集群健康状态(返回"status":"green"则正常)

curl http://192.168.1.10:9200/_cat/health?v
四、作用验证

  1. 创建测试索引
    bash
    运行

创建名为test_index的索引

curl -X PUT “http://localhost:9200/test_index”

插入测试数据

curl -X POST “http://localhost:9200/test_index/_doc/1” -H “Content-Type: application/json” -d ‘{“name”:“openEuler”,“version”:“22.03”}’

查询数据

curl -X GET “http://localhost:9200/test_index/_search”
2. 查看节点信息
bash
运行

查看集群节点列表

curl http://localhost:9200/_cat/nodes?v
五、运维优化(openEuler 适配)

  1. 内存优化
    编辑/usr/local/elasticsearch/config/jvm.options,调整 JVM 堆内存(建议为物理内存的 50%,不超过 32GB):
    ini
    -Xms4g
    -Xmx4g
  2. 开机自启调整
    创建 systemd 服务文件/etc/systemd/system/elasticsearch.service:
    ini
    [Unit]
    Description=Elasticsearch
    After=network.target

[Service]
User=elasticsearch
Group=elasticsearch
WorkingDirectory=/usr/local/elasticsearch
ExecStart=/usr/local/elasticsearch/bin/elasticsearch
Restart=always

[Install]
WantedBy=multi-user.target
启用自启:
bash
运行
systemctl daemon-reload
systemctl enable elasticsearch
systemctl start elasticsearch
3. 常见问题解决
启动失败提示内存不足:检查vm.max_map_count是否配置,或调整 JVM 堆内存;
集群节点无法发现:确认防火墙开放 9300 端口(ES 节点通信端口),执行firewall-cmd --add-port=9300/tcp --permanent;
权限错误:重新执行chown -R elasticsearch:elasticsearch /usr/local/elasticsearch。
总结
openEuler 下部署 ES 的核心是系统参数适配(虚拟内存、用户权限)+ ES 配置优化(集群发现、资源限制)。单节点适合测试场景,生产环境建议 3 节点以上集群保证高可用。后续可结合 Kibana 实现数据可视化,或接入 Filebeat 完成日志采集。

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

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

相关文章

AI负载迅猛增加,隐性DevOps危机正在暴露

固守传统的DevOps团队将越来越难以满足AI时代下的数据需求。成功的团队必须提前布局全面可预测架构,帮助工程师们清晰洞察技术决策与业务成果之间的关联。曾经的运维很简单:选取技术栈中的特定组件,运行单元测试,隔离检查微服务&a…

2026食品铁盒定制工厂推荐榜单:五大高适配品牌测评,精准匹配中高端食品包装需求 - 博客万

一、2026食品铁盒定制工厂推荐榜 推荐一:深圳市尚之美包装创意有限公司(尚之美包装) 品牌介绍:成立于2016年,中高端食品包装全链路解决方案提供商,16年铁盒定制经验,高新技术企业,拥有深圳运营中心与东莞2大生…

十年游戏运营专家的鸿蒙造梦之旅—孙晨阳揭秘“元星空”制胜之道

“我入行游戏圈已经超过11年了,但我的主业并不是游戏开发,而是偏平台运营以及生态运营。”孙晨阳这样向51CTO介绍着自己的从业背景。你敢信?一位10年的游戏运营者,竟能在2025 HarmonyOS创新赛中击败众多专业团队,一举拿…

机器学习中的数据投毒:人们为何以及如何操纵训练数据

数据投毒是指以某种方式改变用于构建机器学习模型的训练数据,从而改变模型的行为。这种影响仅限于训练过程,一旦模型被篡改,损害就无法挽回。模型将出现不可逆转的偏差,甚至可能完全失效,唯一的真正解决办法是使用干净…

2026年度重庆全屋定制销售厂家排行榜,解析3大木质家具品牌优选推荐 - 睿易优选

在当前的市场中,重庆全屋定制木质家具逐渐成为消费者青睐的选择。特别是在2026年度的销售厂家排行榜中,多个品牌凭借其独特的设计和高品质材料脱颖而出。各大品牌如重庆志想家具有限公司和广东合生雅居智能家居等,以…

无人机防撞模块技术解析

无人机防撞模块的核心是让无人机自动感知、评估并规避障碍物或空中交通。其技术路线多样,核心差异在于感知方案和决策算法。如何选择合适的防撞方案你可以根据以下维度进行选择:飞行任务与环境:在城市楼宇间飞行,需侧重近距离、多…

完整教程:佛山某机械加工设备工厂10个SolidWorks共享一台服务器的软硬件

完整教程:佛山某机械加工设备工厂10个SolidWorks共享一台服务器的软硬件pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family:…

2026年市场上做得好的打包带企业推荐排行榜,市面上打包带选哪家广营宏利专注产品质量 - 品牌推荐师

在现代工业物流与供应链体系中,打包带作为关键的捆扎固定材料,其性能与可靠性直接关系到货物运输的安全与效率。随着制造业的升级和电商物流的蓬勃发展,市场对打包带的需求日益多样化、专业化,不仅要求高强度、耐腐…

漂浮式水质自动监测站 海水养殖与近海管护的“精准数据管家

监测站的“三易一低一实时”核心特点具体有哪些?如何赋能海洋水质监测?A:监测站整合易部署、易维护、易扩展、低功耗、实时性五大核心特点,全方位优化海洋水质监测流程,破解海洋场景部署难、运维繁、功耗高的痛点&…

拆开手机电脑看门道!这些硬核硬件知识让你秒变科技达人

拆开手机电脑看门道!这些硬核硬件知识让你秒变科技达人一、手机芯片:口袋里的"超级大脑"手机芯片就像迷你版的超级计算机,最新的骁龙8 Gen3和天玑9300都用上了4nm工艺,指甲盖大小的芯片里塞下了上百亿个晶体管。别看它小…

Spring AI宣布支持Agent Skills,Java开发者的福音

Agent Skills是一种模块化能力,以包含YAML前置元数据的Markdown文件形式打包。每个技能都是一个文件夹,其中包含一个SKILL.md文件,该文件包含元数据(至少包括名称和描述)以及指导AI Agent如何执行特定任务的说明。Agent Skills&am…

【Green Hills】Validate授权文件分析和服务端授权部署

1、 文档目标 分析授权文件的结构和各个功能组件进行对应,为后期排查客户授权问题提供理论基础。 记录Helix QAC和Validate服务器端授权快速部署步骤,避免后续出现授权冲突文件,减少售后成本。对QAC授权、Validate授权和license文件间的调用…

提示词工程到AgenticOps:OpenCSG公益课

由特许全球金融科技师CGFT认证项目(Chartered Global FinTech) 、模速空间与OpenCSG(开放传神)联合推出《普通人的AI掘金课——6天学会,马上能用》系列直播课程,提供了一条非常清晰的上升路径:先学会用提示词把任…

小途知识-浮标水质监测站

Q1:这款浮标水质分析仪的核心定位是什么?为何能适配江河湖库水质监测需求?A:核心定位是“江河湖库全域移动化、精准化、智能化水质监测设备”,专注解决传统监测模式灵活性差、覆盖不足、响应滞后的痛点,聚焦…

ACL 2025 新方法 MoC,重新定义文本分块与评估

来自中国人民大学、上海IAAR研究院的团队在ACL 2025上提出的MoC(Mixtures of Text Chunking Learners)框架,不仅创新性地解决了分块质量评估难题,更实现了计算效率与分块精度的最优平衡,为RAG系统性能提升提供了全新思…

探寻2026年优质不锈钢中厚板现货厂家,品质之选在此,不锈钢装饰板/不锈钢六角棒,不锈钢中厚板源头厂家推荐榜单 - 品牌推荐师

当前,不锈钢中厚板作为工业制造、建筑装饰、能源化工等领域的关键材料,其市场需求持续攀升。得益于耐腐蚀、高强度、易加工等核心优势,不锈钢中厚板在复杂工况下展现出稳定性能,成为众多行业升级转型的首选材料。随…

Invicti Enterprise On-Premises v25.11.0 - 企业级应用安全

Invicti Enterprise On-Premises v25.11.0 - 企业级应用安全 Invicti Enterprise On-Premises Released November 2025 请访问原文链接:https://sysin.org/blog/invicti-enterprise/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysi…

宠物洗澡打泡机方案开发,宠物洗澡电动泡泡机MCU控制方案分析

宠物洗澡打泡机主要用于将宠物沐浴液与水混合,通过内部电机/泵产生丰富、细腻的泡沫,直接涂抹在宠物身上,以提升清洁效率和体验。主要功能模块: 泡沫生成:控制水泵/气泵电机,实现水、空气、沐浴液三者的混合…

HGDB中的扫描类型

文章目录 文档用途详细信息 文档用途 介绍HGDB中的扫描类型 详细信息 1、全表扫描 全表扫描在HGDB中也称为顺序扫描(seq scan),全表扫描就是把表的所有数据块从头到尾读一遍,然后筛选出符合条件的数据块。 全表扫描在explain命…

又到一年年终啦,我也浅浅总结下项目经常用到的ES7及以后版本的核心新特性,码友友们,这些你都知道吗

自ES6(ECMAScript 2015)带来大规模语法革新后,ECMAScript标准开启了每年迭代的节奏,从ES7(2016)开始,每个版本都聚焦于实用小特性的补充与优化,逐步解决开发者在日常编码中的痛点。本…