news 2026/6/12 18:05:54

openEuler安装elasticSearch

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
openEuler安装elasticSearch

在 openEuler 系统中安装 Elasticsearch(以下简称 ES),我将以ES 7.17.5(长期支持版,适配性强)为例,提供从环境准备、安装配置到启动验证的完整步骤,同时兼顾 openEuler 的系统特性(如 aarch64/x86_64 架构适配、权限管理等)。
一、环境准备(必做!避免安装后启动失败)

  1. 检查系统架构与依赖
    openEuler 分为aarch64(鲲鹏等 ARM 架构)和x86_64(x86 架构),ES 提供对应架构的安装包,先确认系统架构:
    bash
    运行

查看系统架构

uname -m

输出:aarch64 或 x86_64

  1. 关闭防火墙与 SELinux(测试环境,生产环境可开放指定端口)
    bash
    运行

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

临时关闭SELinux

setenforce 0

永久关闭SELinux(修改后需重启)

sed -i ‘s/^SELINUX=enforcing/SELINUX=disabled/’ /etc/selinux/config
3. 调整系统内核参数(ES 对系统资源有特定要求)
编辑/etc/security/limits.conf,添加以下内容(提升用户资源限制):
bash
运行
vi /etc/security/limits.conf
ini

Elasticsearch 用户资源限制

elasticsearch soft nofile 65535
elasticsearch hard nofile 65535
elasticsearch soft nproc 4096
elasticsearch hard nproc 4096
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
编辑/etc/sysctl.conf,添加内核参数:
bash
运行
vi /etc/sysctl.conf
ini

ES 所需内核参数

vm.max_map_count=262144
fs.file-max=655350
net.ipv4.ip_local_port_range=1024 65535
使内核参数生效:
bash
运行
sysctl -p
二、安装 Elasticsearch
方式 1:使用二进制包安装(推荐,适配所有架构)
步骤 1:下载对应架构的 ES 安装包
bash
运行

先创建安装目录

mkdir -p /usr/share/elasticsearch
cd /usr/local/src

若为x86_64架构

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

若为aarch64架构(鲲鹏)

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.5-linux-aarch64.tar.gz
步骤 2:解压安装包
bash
运行

替换为对应架构的包名

x86_64架构

tar -zxvf elasticsearch-7.17.5-linux-x86_64.tar.gz -C /usr/share/

aarch64架构

tar -zxvf elasticsearch-7.17.5-linux-aarch64.tar.gz -C /usr/share/

重命名目录(简化路径)

mv /usr/share/elasticsearch-7.17.5-* /usr/share/elasticsearch
步骤 3:创建专用运行用户(ES 禁止 root 用户运行)
bash
运行

创建elasticsearch用户

useradd -r -s /sbin/nologin elasticsearch

赋予目录权限

chown -R elasticsearch:elasticsearch /usr/share/elasticsearch
方式 2:使用 RPM 包安装(适用于 x86_64/aarch64,需配置 yum 源)
若偏好 RPM 包管理,可配置 Elastic 的 yum 源后安装:
bash
运行

创建yum源文件

vi /etc/yum.repos.d/elastic.repo
ini
[elastic-7.x]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
安装 ES:
bash
运行
yum install elasticsearch-7.17.5 -y

RPM包安装的目录为 /usr/share/elasticsearch,与二进制包一致

三、配置 Elasticsearch
步骤 1:修改核心配置文件elasticsearch.yml
配置文件位于/usr/share/elasticsearch/config/elasticsearch.yml,编辑如下:
bash
运行
vi /usr/share/elasticsearch/config/elasticsearch.yml
yaml

1. 集群名称(单节点也需配置)

cluster.name: my-es-cluster

2. 节点名称(自定义)

node.name: es-node-1

3. 网络配置:允许外部访问

network.host: 0.0.0.0 # 监听所有网卡,默认仅本地127.0.0.1
http.port: 9200 # HTTP端口

4. 单节点模式(测试环境,生产环境需配置集群)

discovery.type: single-node

5. 数据与日志存储路径(可选,默认在data和logs目录)

path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch

6. 可选:关闭X-Pack安全功能(测试环境,生产环境建议开启)

xpack.security.enabled: false
步骤 2:创建数据与日志目录并赋权
bash
运行

创建目录

mkdir -p /var/lib/elasticsearch /var/log/elasticsearch

赋予权限

chown -R elasticsearch:elasticsearch /var/lib/elasticsearch /var/log/elasticsearch
步骤 3:调整 JVM 内存配置(关键!避免内存不足)
编辑/usr/share/elasticsearch/config/jvm.options,根据服务器内存调整:
bash
运行
vi /usr/share/elasticsearch/config/jvm.options
ini

初始堆内存与最大堆内存,建议为物理内存的1/4(如4G内存设置为1G,8G内存设置为2G)

-Xms1g
-Xmx1g

若服务器内存小于2G,可设置为512m:

-Xms512m

-Xmx512m

四、配置 systemd 服务(开机自启)
步骤 1:创建 systemd 服务文件
bash
运行
vi /etc/systemd/system/elasticsearch.service
写入以下内容:
ini
[Unit]
Description=Elasticsearch
Documentation=https://www.elastic.co
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=elasticsearch
Group=elasticsearch
Environment=“ES_JAVA_OPTS=-Xms1g -Xmx1g”
ExecStart=/usr/share/elasticsearch/bin/elasticsearch -p /var/run/elasticsearch/elasticsearch.pid
RuntimeDirectory=elasticsearch
RuntimeDirectoryMode=0755
Restart=on-failure
LimitNOFILE=65535
LimitNPROC=4096
LimitMEMLOCK=infinity

[Install]
WantedBy=multi-user.target
步骤 2:重新加载 systemd 配置
bash
运行
systemctl daemon-reload
五、启动并验证 Elasticsearch
步骤 1:启动 ES 服务
bash
运行

启动服务

systemctl start elasticsearch

设置开机自启

systemctl enable elasticsearch
步骤 2:验证服务状态
bash
运行

查看服务状态

systemctl status elasticsearch

查看端口监听(9200端口应处于LISTEN状态)

ss -tulpn | grep 9200
步骤 3:验证 ES 是否正常运行
bash
运行

访问ES的HTTP接口

curl http://localhost:9200
若返回如下信息,说明 ES 安装成功:
json
{
“name” : “es-node-1”,
“cluster_name” : “my-es-cluster”,
“cluster_uuid” : “xxxxxxxxxxxxxx”,
“version” : {
“number” : “7.17.5”,
“build_flavor” : “default”,
“build_type” : “tar”,
“build_hash” : “xxxxxxxxxxxxxx”,
“build_date” : “2023-01-31T05:34:48.263135707Z”,
“build_snapshot” : false,
“lucene_version” : “8.11.1”,
“minimum_wire_compatibility_version” : “6.8.0”,
“minimum_index_compatibility_version” : “6.0.0-beta1”
},
“tagline” : “You Know, for Search”
}
六、常见问题处理
启动失败:max virtual memory areas vm.max_map_count [65530] is too low
解决:执行sysctl -w vm.max_map_count=262144,并写入/etc/sysctl.conf永久生效。
启动失败:memory locking requested for elasticsearch process but memory is not locked
解决:确保/etc/security/limits.conf中配置了memlock unlimited,并重启服务器生效。
外部无法访问 9200 端口
解决:检查防火墙是否关闭,或开放 9200 端口:firewall-cmd --add-port=9200/tcp --permanent && firewall-cmd --reload。
总结
核心步骤:openEuler 安装 ES 需先调整系统内核参数和资源限制,再根据架构选择对应安装包,配置核心参数后启动。
关键配置:network.host: 0.0.0.0允许外部访问,discovery.type: single-node适配单节点测试环境,JVM 内存需根据服务器配置调整。
验证标准:curl http://localhost:9200返回 ES 版本信息即为安装成功。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/11 21:32:19

计算机毕业设计springbootKTV点歌系统 基于 SpringBoot 的云端 KTV 智能点歌平台 融合 SpringBoot 与 MySQL 的移动端 K 歌点播管理系统

计算机毕业设计springbootKTV点歌系统xr9awi04 (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。KTV 从纸质歌本到触摸屏,再到如今的手机扫码,点歌方式每一…

作者头像 李华
网站建设 2026/6/13 6:11:57

Excalidraw API接口详解:自动化生成图表的秘诀

Excalidraw API接口详解:自动化生成图表的秘诀 在技术文档撰写、系统架构设计和远程协作日益频繁的今天,一个常见的痛点浮出水面:如何快速、一致且美观地生成可视化图表?传统工具如 Visio 或 Lucidchart 虽然功能齐全&#xff0c…

作者头像 李华
网站建设 2026/6/9 6:54:19

测试报告:一份软件的“健康证明”

超越形式的价值承载 在软件开发生命周期中,测试报告往往被视为流程的终点站——一份确认测试活动完成的仪式性文档。然而对于真正理解质量本质的专业人士而言,这份文档的价值远不止于此。它更像是软件产品在交付前获得的“健康证明”,不仅记…

作者头像 李华
网站建设 2026/6/13 15:33:05

华人数学家对现代数学核心问题的系统性攻克:一项深度研究报告

华人数学家对现代数学核心问题的系统性攻克:一项深度研究报告备注:本文由智谱生成,仅供学习和参考。引言现代数学的发展史,是一部由全人类智慧共同谱写的宏伟史诗。在这部史诗中,华人数学家的角色经历了从早期参与者到…

作者头像 李华
网站建设 2026/6/13 0:17:30

边缘计算场景下的软件测试新挑战与应对路径

测试范式的时代转型 随着物联网、5G和工业互联网的快速发展,边缘计算已从概念验证阶段迈入规模化部署期。据IDC预测,到2026年,超过50%的企业数据将在边缘节点产生和处理。这种分布式架构的普及正在深刻重塑软件测试的方法论与实践体系&#…

作者头像 李华
网站建设 2026/6/9 15:04:24

Open-AutoGLM与传统自动化测试的10大差异,第7点至关重要

第一章:Open-AutoGLM 适配测试自动化的本质变革Open-AutoGLM 的出现标志着测试自动化从规则驱动向智能决策的范式转移。传统自动化依赖预设脚本与固定断言,难以应对动态 UI 或业务逻辑频繁变更的场景。而 Open-AutoGLM 借助大语言模型的理解能力&#xf…

作者头像 李华