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

相关推荐

  • 域名解析方法是什么?互联网域名解析原理详解

    域名解析是将人类易记的域名转换为计算机可识别的IP地址的过程,其核心机制依赖于全球分布式DNS服务器层级查询,通过缓存与递归/迭代配合实现毫秒级定位,域名解析的核心逻辑与层级架构想象一下,互联网就像一座巨大的城市,IP地址是每栋房子的精确经纬度坐标,而域名则是你熟悉的街道门牌号,域名解析(DNS)就是那个帮你查……

    2026年6月3日
    3500
  • Win10怎么查看局域网共享文件?电脑怎么搜索局域网共享

    在Windows 10系统中查看局域网共享文件,最核心且高效的方法是通过“运行”对话框输入双反斜杠加目标IP地址(如\192.168.1.100)直接访问,或直接在文件资源管理器地址栏输入该路径,无需开启复杂的网络发现功能即可快速定位文件,很多用户在面对局域网共享时,往往陷入“找不到网络”或“拒绝访问”的困境……

    2026年6月19日
    1300
  • 阿里云SSL证书过期怎么删除?阿里云删除过期证书详细教程

    阿里云SSL证书过期后,若不再使用,需登录阿里云控制台,在SSL证书服务中找到对应证书,点击“删除”并确认即可彻底移除;若证书仍在有效期内但需更换,则应先绑定新证书再删除旧证书,避免网站出现安全警告,很多站长或运维人员常遇到证书过期却不敢删的情况,担心误操作导致网站瘫痪,只要理清证书的生命周期和管理逻辑,删除操……

    2026年6月20日
    1400
  • http服务器连接不上去怎么办?服务器连接超时怎么解决

    HTTP服务器连接不上去,核心原因通常归结为网络连通性阻断、防火墙策略拦截或服务进程未正常启动,建议优先通过Ping命令测试基础网络,再检查端口监听状态及系统日志来定位具体故障点,当你在浏览器输入网址却看到“无法访问此网站”或“连接超时”时,这种挫败感非常普遍,这不仅仅是代码写错了那么简单,背后往往隐藏着从物理……

    2026年6月1日
    5300
  • 带宽按量计费还是固定带宽划算?哪种计费方式更省钱?

    对于绝大多数业务场景,固定带宽在成本可控性上更具优势;而带宽按量计费仅适用于流量极低或波动极其剧烈的突发型业务, 判断带宽按量计费还是固定带宽划算?,核心在于计算“带宽利用率”,当您的业务带宽利用率长期高于40%时,固定带宽是绝对的性价比之王;反之,若利用率极低且无法预测峰值,按量计费才能避免资源浪费,企业在做……

    2026年3月7日
    12700
  • 带宽1G流量大概多少钱?1G带宽流量价格贵吗

    带宽1G流量大概多少钱? 这个问题并没有一个标准的定价答案,根据采购模式、线路质量以及服务商策略的不同,价格差异极大,核心结论是:在当前的市场环境下,1G独享带宽的月租费用通常在3000元至15000元之间,而如果是按流量计费,1GB流量的单价则根据阶梯用量,大致在0.5元至3元不等, 企业若想获得高性价比的方……

    2026年3月8日
    19400
  • 为什么出现http500服务器错误?http500错误怎么快速解决

    HTTP 500错误是服务器内部发生未捕获异常的通用信号,并非客户端网络故障,解决核心在于查看服务器日志定位具体代码或配置错误,当你访问一个网站时,浏览器就像是一个信使,向服务器发送请求,而服务器则是处理这些请求的管家,正常情况下,管家会愉快地交出你需要的数据,但当管家在后台手忙脚乱,比如代码写错了、数据库连不……

    2026年6月5日
    2700
  • WordPress后台安装更新主题和插件失败怎么解决?WordPress插件安装失败提示500错误

    WordPress后台安装更新主题和插件失败,通常由服务器资源限制、文件权限错误或网络连通性问题导致,建议优先检查服务器PHP内存限制并调整文件夹权限为755或775,当你在WordPress后台点击“立即更新”或“安装”时,页面突然白屏、显示“连接超时”或“无法安装主题”,这种挫败感是许多站长都经历过的,这不……

    2026年6月20日
    1100
  • html炫彩字体代码怎么设置?html炫酷文字特效代码

    实现炫彩字体效果的核心在于结合CSS3的渐变背景与背景裁剪技术,通过background-clip: text属性让颜色穿透文字,再辅以@keyframes动画实现动态流光,这是目前兼容性最好且无需加载外部字体的方案,在网页设计的视觉呈现中,静态的纯色文字早已无法满足用户对“高级感”的追求,随着前端技术的迭代……

    2026年6月11日
    1800
  • Thawte SSL证书如何发展?Thawte SSL证书申请流程

    Thawte SSL证书作为全球最早的商业SSL证书颁发机构之一,其发展历程见证了互联网从HTTP向HTTPS全面转型的关键历程,最终被VeriSign收购并融入DigiCert体系,确立了其在企业级安全认证领域的历史地位,Thawte SSL证书的起源与早期突破Thawte的诞生并非偶然,而是90年代末互联网……

    服务器宽带 2026年6月18日
    1200

发表回复

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