Ubuntu服务器如何安装配置Elasticsearch?elasticsearch安装配置教程

在Ubuntu服务器上安装Elasticsearch,核心在于配置Java环境、下载官方包、修改内存限制并开放端口,建议优先使用官方APT源以确保版本兼容性与安全性。

Elasticsearch作为分布式搜索和分析引擎,近年来在日志处理、全文检索及数据分析领域占据了重要地位,许多开发者在初次接触时,往往被其复杂的配置劝退,只要理清依赖关系和基础配置逻辑,整个过程并不繁琐,本文将结合Ubuntu系统的特性,提供一套经过验证的实操方案,帮助你在生产环境中快速搭建稳定可靠的ES集群节点。

绿联云DH2600/DX4600使用Docker安装Ubuntu教程-折腾篇五
加载中
绿联云DH2600/DX4600使用Docker安装Ubuntu教程-折腾篇五

Ubuntu服务器安装Elasticsearch前的环境准备

在动手安装之前,必须明确Elasticsearch对运行环境的硬性要求,它基于Java开发,且对系统资源有一定消耗,忽略这些前置条件,往往会导致服务启动失败或运行不稳定。

Java运行环境的安装与验证

Elasticsearch内置了JDK,但在某些特定场景下,或者为了便于统一管理,手动安装Java仍是常见做法,业内专家指出,使用OpenJDK 11或17是目前的最佳实践,二者均能完美支持最新版本的ES。

更新系统软件包列表,确保获取最新的软件索引。

sudo apt update
sudo apt upgrade

安装OpenJDK,以Ubuntu 22.04或24.04为例,推荐安装OpenJDK 17。

sudo apt install openjdk-17-jdk

安装完成后,通过以下命令验证Java版本,确保版本符合ES要求(通常要求Java 11+)。

java -version

如果输出显示版本为17.x.x,则环境准备就绪,若系统默认安装了旧版本,可通过update-alternatives命令切换默认版本。

系统内核参数优化

Elasticsearch重度依赖文件系统缓存,因此需要调整Linux内核参数以支持更大的文件描述符数量和虚拟内存映射,这是许多新手容易忽略的关键步骤,直接导致ES启动时报错“max file descriptors”。

编辑/etc/sysctl.conf文件,添加或修改以下配置:

fs.file-max=65535
vm.max_map_count=262144

保存后,执行命令使配置立即生效:

Ubuntu服务器如何安装配置Elasticsearch?elasticsearch安装配置教程

sudo sysctl -p

需调整用户级别的文件限制,编辑/etc/security/limits.conf,添加以下内容:

 soft nofile 65535
 hard nofile 65535
 soft nproc 4096
 hard nproc 4096

这些配置确保ES进程能够打开足够的文件句柄,避免在高并发查询时出现资源瓶颈。

Ubuntu服务器安装Elasticsearch的具体步骤

目前主流的安装方式包括APT源安装、Docker容器化部署以及二进制包安装,对于追求稳定性和长期维护的用户,使用官方APT源是首选方案,这种方式能自动处理依赖关系,并方便后续通过包管理器进行升级。

导入官方GPG密钥与添加源

为了验证下载包的完整性,首先需要导入Elasticsearch官方的GPG密钥。

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

添加Elasticsearch的APT源,这一步决定了你安装的是哪个版本,建议根据业务需求选择稳定版本(Stable)。

echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list

注意:若需安装Elasticsearch 7.x,请将上述命令中的x替换为x,不同版本间的配置语法存在差异,务必保持一致。

安装与启动服务

更新包索引后,即可执行安装命令。

sudo apt update
sudo apt install elasticsearch

安装完成后,ES服务并未自动启动,使用systemctl命令启动并设置开机自启。

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

可以通过curl命令检查服务状态,若返回JSON格式的系统信息,说明安装成功。

curl -X GET "localhost:9200/"

核心配置文件修改与安全加固

默认配置仅适用于测试环境,在生产环境中,必须对elasticsearch.yml进行针对性调整,否则将面临内存溢出或安全泄露风险。

内存限制与堆大小调整

Ubuntu服务器如何安装配置Elasticsearch?elasticsearch安装配置教程

Elasticsearch的堆内存(Heap Size)直接影响其性能,官方建议将堆内存设置为物理内存的50%,但不超过31GB,这是因为JVM在超过31GB时,指针压缩失效,反而降低性能。

编辑/etc/elasticsearch/jvm.options文件,找到-Xms-Xmx参数。

-Xms4g
-Xmx4g

假设你的服务器拥有8GB内存,将两者均设置为4GB是合理的选择,修改后,重启ES服务使配置生效。

网络绑定与跨域设置

默认情况下,ES仅绑定localhost,外部无法访问,若需远程连接,需修改/etc/elasticsearch/elasticsearch.yml

network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: ""

network.host设置为0.0.0允许所有IP访问。http.cors.enabled开启跨域支持,允许前端浏览器直接发起请求。http.cors.allow-origin设置为表示允许所有来源,生产环境中建议替换为具体的域名,以增强安全性。

身份认证与安全基础

随着网络安全意识提升,无密码访问已成为重大隐患,Elasticsearch 7.0+引入了X-Pack安全功能,虽然完整的安全套件需要商业许可,但基础的安全功能如SSL/TLS加密和内置用户管理,在基础版中可用。

启用安全功能需修改配置:

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

重启服务后,系统会提示设置内置用户密码,包括elastic超级管理员、kibana_systemlogstash_system等,务必妥善保管elastic用户的密码,它是后续所有操作的管理入口。

Ubuntu服务器安装Elasticsearch常见问题排查

在实际部署过程中,可能会遇到各种异常情况,以下是几种高频问题的解决方案。

服务启动失败,日志显示权限错误

ES严禁使用root用户运行,若手动启动报错,请检查文件所有者。

sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearch
sudo chown -R elasticsearch:elasticsearch /var/log/elasticsearch

Ubuntu服务器如何安装配置Elasticsearch?elasticsearch安装配置教程

确保数据目录和日志目录的所有者为elasticsearch用户。

内存溢出(OOM)导致服务崩溃

若服务器内存较小,ES可能因堆内存不足被系统杀死,此时需检查/var/log/elasticsearch/下的日志文件,寻找OutOfMemoryError关键字,解决方法是进一步减小jvm.options中的堆大小,或增加服务器物理内存。

外部无法连接9200端口

若配置无误但仍无法访问,需检查Ubuntu防火墙。

sudo ufw allow 9200/tcp
sudo ufw reload

确保防火墙放行了9200端口,若使用云服务商(如阿里云腾讯云),还需在安全组规则中添加入站规则。

Q&A:Ubuntu服务器安装Elasticsearch常见疑问

Ubuntu服务器安装Elasticsearch时,如何选择版本?

版本选择应基于业务需求与兼容性,若使用Kibana或Logstash,建议保持版本一致以避免兼容性问题,对于新部署,推荐选择最新的稳定版(如8.x),因其包含最新的安全补丁和性能优化,若现有应用依赖旧版API,则需降级至7.x或6.x,但需注意旧版本已停止官方安全更新。

Ubuntu服务器安装Elasticsearch后,如何监控运行状态?

可通过CURL命令查看集群健康状态,执行curl -X GET "localhost:9200/_cluster/health?pretty",若返回"status" : "green",表示集群健康,所有主分片和副本分片均正常,若为yellow,通常意味着副本分片未分配,可能是单节点集群的正常现象,若为red,则存在数据丢失风险,需立即检查日志,可安装Kibana作为可视化监控面板,直观展示节点负载、索引速率及查询性能。

Ubuntu服务器安装Elasticsearch是否必须购买商业许可?

Elasticsearch采用双许可模式,基础功能如搜索、聚合、索引创建等,在Basic许可下免费使用,无需付费,只有高级功能如基于角色的访问控制(RBAC)、细粒度字段级权限、机器学习及SQL查询等,才需要商业许可,对于大多数中小型企业的基础搜索和日志分析场景,免费版本已完全够用。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/409499.html

(0)
WordPress特色图片不显示怎么办?wp文章图片不显示怎么解决
上一篇 2026年6月22日 03:58
搜狗石破算法上线为何打击采集?搜狗搜索算法更新对SEO有什么影响
下一篇 2026年6月22日 04:01

相关推荐

  • 虚拟机无法识别U盘怎么办,USB设备不显示是什么原因

    虚拟机无法识别U盘等USB设备,根本原因在于宿主机与虚拟机之间的USB控制器权限没有正确交接,或者虚拟机缺少对应的USB驱动支持,这个问题的本质是设备直通(Passthrough)机制不完整,并非U盘本身损坏,下面从原因排查到具体操作,逐一拆解,为什么虚拟机总是“看不见”USB设备虚拟化软件(如VMware W……

    2026年8月31日
    700
  • PHP如何精准截取域名主域名?,php获取域名代码示例

    在PHP中精准截取主域名,核心算法是“从右向左匹配有效后缀,取后缀左侧第一个标签作为主域名主体”,实践中优先使用公共后缀列表(PSL)或预编译后缀数组,才能避免被二级后缀和子域名干扰, 很多开发者以为用parse_url()拿到host就完事了,但news.example.com、www.example.co……

    2026年9月1日
    600
  • HTML如何连接数据库SQL?PHP连接MySQL数据库教程

    HTML本身无法直接连接数据库,必须通过后端语言(如PHP、Python、Node.js)或服务器端脚本来建立与SQL数据库的连接,前端HTML仅负责展示数据,很多人误以为在网页里写几行代码就能直接读写数据库,这其实是一个常见的认知误区,HTML只是超文本标记语言,它负责页面的结构和样式,就像房子的骨架和装修……

    2026年6月2日
    3200
  • K3s和K8s区别在哪?K3s和K8s功能对比详解

    K3s是轻量级Kubernetes发行版,专为边缘计算、物联网及资源受限环境设计,相比标准K8s,它安装包更小、资源占用更低、运维更简单,适合边缘节点和小型集群场景,K3s是什么?轻量级Kubernetes的核心逻辑K3s并非一个独立的新容器编排系统,而是由Rancher Labs发起的CNCF认证Kubern……

    2026年6月23日
    2200
  • 武汉服务器租用续约季如何谈价?,续约省钱技巧有哪些?

    武汉服务器租用续约谈判,核心在于提前两个月启动、用多家竞价比价、锁定长期合同,并敢于要求带宽和IP的附加优惠,武汉服务器租用价格,续约前如何摸底通过IDC比价平台快速获取行情访问主流IDC比价网站,输入你当前配置(CPU核心、内存、硬盘、带宽),系统自动列出武汉本地及周边机房的实时报价,筛选出3-5家服务商,保……

    服务器宽带 2026年8月9日
    900
  • 互联网BI数据分析软件是什么意思?BI软件如何提升企业决策效率

    互联网BI数据分析软件是通过可视化工具将杂乱数据转化为直观图表,帮助企业和决策者快速发现业务规律、优化运营效率的数字化工具,很多人听到“BI”这个词,第一反应是复杂的代码或者高深莫测的算法,其实它更像是一个懂业务的“数据翻译官”,在2026年的今天,企业不再满足于看静态的Excel报表,而是需要能实时互动、能下……

    服务器宽带 2026年6月1日
    3400
  • hpz800怎么安装linux?惠普打印机linux驱动怎么装

    HP Z800工作站安装Linux的核心结论是:由于该硬件年代久远且依赖特定RAID卡,建议优先选择Ubuntu LTS或Debian等对老旧硬件兼容性较好的发行版,并需手动配置显卡驱动与RAID控制卡,以确保系统稳定运行,HP Z800作为惠普经典的塔式工作站,凭借X58芯片组和双路Xeon处理器的强大算力……

    2026年6月10日
    2210
  • 广州ECS云服务器挂机怎么样,广州云服务器挂机稳定吗

    广州ECS云服务器挂机的核心价值在于利用云端资源实现业务流程的无人值守自动化运行,其稳定性直接决定了挂机任务的成败,而选择具备高可用性网络与硬件支持的云服务商,是确保长期挂机不中断的唯一路径,对于追求高效益的企业与开发者而言,依托优质BGP网络构建的云端环境,能够彻底解决本地网络波动、电力中断及硬件老化带来的业……

    2026年3月31日
    8100
  • Cloudflare R2存储评测体验如何?Cloudflare R2存储费用怎么算

    Cloudflare R2存储凭借其零出口流量费、S3兼容接口及全球边缘节点优势,已成为替代传统对象存储、降低Web应用成本的首选方案,尤其适合高频读写的动态内容场景,为什么R2能打破传统存储的成本僵局传统对象存储如AWS S3或阿里云OSS,虽然功能强大,但长期被“出口流量费”这一隐形杀手困扰,对于图片站、视……

    2026年6月16日
    3110
  • CentOS 7网络配置教程

    CentOS 7 网络配置的核心在于修改 /etc/sysconfig/network-scripts/ 下的 ifcfg 文件,通过设置 BOOTPROTO=static 并指定 IP、网关和 DNS 即可实现静态 IP 绑定,这是企业级服务器最稳定的联网方案,很多刚接触 Linux 运维的朋友,在面对 Ce……

    2026年6月18日
    2310

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注