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_system和logstash_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://test.idctop.com/article/409499.html

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

相关推荐

  • 使用SSH远程连接Linux美国主机的方法

    通过安装OpenSSH客户端并使用标准端口22建立加密隧道,即可安全、稳定地远程连接位于美国的Linux主机,这是运维人员管理海外服务器的标准且高效的方式,远程连接海外服务器并非简单的“输入IP地址”,它涉及网络路由、加密协议以及身份验证的多重配合,对于许多初次接触美国主机的用户来说,面对黑底白字的命令行界面往……

    2026年6月18日
    2400
  • https如何生成证书并安装?免费申请https证书方法

    HTTPS证书是网站安全的基石,通过申请并安装SSL证书,可实现数据加密传输,提升用户信任度与搜索引擎排名,在数字化浪潮席卷全球的今天,网站安全已不再是可选配置,而是必备基础,浏览器地址栏那个小小的绿色锁图标,不仅代表着加密连接,更是用户信任的第一道防线,对于站长而言,掌握HTTPS证书的申请与安装流程,是构建……

    2026年6月5日
    3100
  • 互联网云网络是什么?云网络架构的优势有哪些

    互联网云网络并非单一设备,而是将计算、存储、网络资源通过虚拟化技术整合,并经由高速公网或专线按需提供给用户的分布式基础设施体系,其核心价值在于弹性伸缩与成本优化,很多人听到“云网络”这个词,第一反应是觉得它高深莫测,仿佛只有大厂的技术大牛才能玩转,把思维转个弯,你就明白它就像是你家里的水电煤气管道,以前你自家要……

    2026年6月4日
    3500
  • HTML5真的取代JSP了吗?HTML5和JSP的区别

    HTML5取代JSP并非简单的技术迭代,而是前端体验与后端解耦的必然结果,它通过前后端分离架构彻底终结了服务器端渲染带来的性能瓶颈与开发割裂,过去十年,Web开发领域经历了一场深刻的范式转移,曾经作为企业级应用标配的JSP(Java Server Pages),因其将Java逻辑与HTML页面强行耦合的特性,逐……

    2026年6月11日
    2500
  • 网站SSL证书有必要买吗?网站SSL证书申请流程

    网站SSL证书非常有必要购买或申请,它是保障网站安全、提升搜索引擎排名以及建立用户信任的基础设施,而非可有可无的选配,在2026年的互联网环境中,网络安全已不再是大型企业的专属议题,而是每一个上线网站的生存底线,许多站长在搭建网站初期,往往纠结于是否要投入成本获取SSL证书,随着百度算法的持续迭代以及用户对隐私……

    2026年6月22日
    3100
  • HTML能直接获取数据库吗?前端如何连接数据库

    HTML本身无法直接连接数据库,必须通过后端语言(如PHP、Python、Node.js)作为中间层进行数据交互,这是Web开发的基本架构常识,很多初学者常陷入一个误区,试图在纯静态网页中直接写入数据库查询语句,这种做法不仅技术上不可行,更存在严重的安全隐患,现代Web开发遵循前后端分离或MVC架构,HTML仅……

    2026年6月5日
    3900
  • 中小企业服务器带宽怎么选?带宽选择建议与配置推荐

    中小企业服务器带宽选择的核心逻辑在于“按需分配、适度冗余、动态调整”,切忌盲目追求高配或过度节省,最优策略是依据业务类型测算并发峰值,预留30%左右的冗余带宽,并选择支持弹性升级的服务商,以实现成本与性能的最佳平衡, 精准测算:从业务场景倒推带宽需求不同行业对带宽的消耗逻辑截然不同,企业需首先明确自身业务属性……

    2026年3月7日
    14300
  • HTML5在线教育怎么做?html5在线教育平台开发费用

    HTML5在线教育通过跨平台兼容性和无需插件的特性,已成为2026年构建高效、低成本数字化学习场景的首选技术底座,HTML5重塑在线教育的底层逻辑过去,在线视频播放依赖Flash或复杂的本地插件,这不仅导致加载缓慢,更在移动端体验上存在巨大鸿沟,HTML5的出现彻底打破了这一僵局,它不仅仅是一种标记语言,更是一……

    2026年6月7日
    3800
  • 杭州IDC租用如何同时规划配置和预算,多少钱一个月?

    在杭州规划IDC租用,配置和预算的平衡点在于先摸清业务真实用量,再按需锁定带宽、机柜和电力,别让“标配”拖着预算跑, 这几年杭州IDC市场卷得厉害,同样配置的报价能从几千到几万,不提前做功课很容易踩坑,咱们就按“需求→配置→预算”这个顺序,一步步拆解,杭州IDC租用配置怎么选?先理清业务场景很多时候配置选不好……

    2026年8月10日
    1100
  • 如何用Astra主题入门模板创建多语言网站?WordPress多语言插件推荐

    使用Astra主题配合WPML或Polylang插件,是构建多语言网站最高效且成本可控的方案,无需编写代码即可实现页面内容的自动切换与SEO友好型URL结构,在2026年的数字化出海浪潮中,单一语言网站已难以满足全球化业务需求,许多站长在搭建多语言站点时,常陷入主题兼容性差、加载速度拖慢、SEO权重分散的困境……

    2026年6月25日
    1610

发表回复

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