前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Elasticsearch8.14.3更换自带的openjdk版本

Elasticsearch8.14.3更换自带的openjdk版本

作者头像
DBA实战
修改2024-09-26 18:52:45
1140
修改2024-09-26 18:52:45
举报
文章被收录于专栏:DBA实战

概述:为何更换 Elasticsearch 集群中的 JDK 版本

背景

在部署的 Elasticsearch 集群中,我们遇到了频繁的 CPU 使用率飙升问题,导致某些节点宕机。这种情况不仅影响了集群的稳定性和可靠性,还增加了维护成本和潜在的数据丢失风险。为了改善这种情况,我们决定更换 Elasticsearch 集群所使用的 JDK 版本,以优化性能并减少资源消耗。

为何更换 JDK 版本
  1. 性能优化:不同的 JDK 版本可能包含性能改进和优化,尤其是对于高负载场景。升级到最新版本的 JDK 可以利用最新的性能增强特性,从而提高 Elasticsearch 的响应速度和处理能力。
  2. 资源管理:CPU 使用率飙升通常是由于内存管理和垃圾回收(GC)机制的问题。新版本的 JDK 可能引入了更高效的内存管理和 GC 策略,有助于降低 CPU 负载并提高系统稳定性。
  3. Bug 修复:旧版本的 JDK 可能存在已知的 Bug 和安全问题,这些问题可能导致性能下降或不稳定行为。通过升级到新版本,我们可以规避这些问题,提高系统的可靠性和安全性。
  4. 兼容性:随着 Elasticsearch 的持续更新,新的版本可能更紧密地集成和优化了对特定 JDK 版本的支持。确保使用推荐的 JDK 版本可以帮助避免兼容性问题,并充分利用 Elasticsearch 的最新特性。

当前版本

代码语言:javascript
复制
[root@test19-server08 elasticsearch]# /usr/share/elasticsearch/jdk/bin/java -version
openjdk version "22.0.1" 2024-04-16
OpenJDK Runtime Environment (build 22.0.1+8-16)
OpenJDK 64-Bit Server VM (build 22.0.1+8-16, mixed mode, sharing)
[root@test19-server08 bin]# curl -X GET "localhost:9200/_nodes?filter_path=**.jvm*&pretty"
{
  "nodes" : {
    "r6zSsQGNRXiGwRljYhUKWw" : {
      "jvm" : {
        "pid" : 809507,
        "version" : "22.0.1",
        "vm_name" : "OpenJDK 64-Bit Server VM",
        "vm_version" : "22.0.1+8-16",

安装指定版本

代码语言:javascript
复制
--下载
 wget https://download.java.net/java/GA/jdk22/830ec9fcccef480bb3e73fb7ecafe059/36/GPL/openjdk-22_linux-x64_bin.tar.gz
 [root@test19-server08 jdk-22]# cd /opt
 [root@test19-server08 jdk-22]# tar xvf openjdk-22_linux-x64_bin.tar.gz 
 [root@test19-server08 jdk-22]# cd /opt/jdk-22/bin/
[root@test19-server08 bin]# ls
jar        java   javadoc  jcmd      jdb        jdeps  jhsdb   jinfo  jmap  jpackage  jrunscript  jstack  jstatd      keytool      serialver
jarsigner  javac  javap    jconsole  jdeprscan  jfr    jimage  jlink  jmod  jps       jshell      jstat   jwebserver  rmiregistry

--验证版本
openjdk version "22" 2024-03-19
OpenJDK Runtime Environment (build 22+36-2370)
OpenJDK 64-Bit Server VM (build 22+36-2370, mixed mode, sharing)
[root@test19-server08 bin]# pwd
/opt/jdk-22/bin

配置jdk环境变量

代码语言:javascript
复制
[root@test19-server08 bin]# vim /usr/share/elasticsearch/bin/elasticsearch-env
#!/bin/bash
#添加安装路径,最顶部
export ES_JAVA_HOME=/opt/jdk-22

重启elasticsearch

代码语言:javascript
复制
systemctl restart elasticsearch.service

查看当前elasticsearch的jdk版本

代码语言:javascript
复制
[root@test19-server08 bin]# curl -X GET "localhost:9200/_nodes?filter_path=**.jvm*&pretty"
{
  "nodes" : {
    "r6zSsQGNRXiGwRljYhUKWw" : {
      "jvm" : {
        "pid" : 810638,
        "version" : "22",
        "vm_name" : "OpenJDK 64-Bit Server VM",
        "vm_version" : "22+36-2370",

总结

更换 Elasticsearch 集群中的 JDK 版本是一项旨在提高系统性能、稳定性和可靠性的举措。通过合理选择合适的 JDK 版本,并采取适当的预防措施,可以有效地解决 CPU 使用率飙升导致的问题,从而提升整体用户体验和服务质量。务必注意兼容性、进行全面测试,并逐步实施变更,以确保平稳过渡并达到预期效果。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA实战 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述:为何更换 Elasticsearch 集群中的 JDK 版本
    • 背景
      • 为何更换 JDK 版本
      相关产品与服务
      Elasticsearch Service
      腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档