处理log4j2遇到的问题

文章目录

1. 开始解决方式

  1. 应用环境使用到了elasticsearch7.6.2的版本,在log4j2漏洞开始暴露的时候,该版本是有问题的
  2. 在最开始官方没有更新log4j2包和elasticsearch官方没有更新版本时候,使用jvm.options 文件最后增加 -Dlog4j2.formatMsgNoLookups=true的方式暂时规避问题
  3. 在之后官方更新版本后,将 elasticsearch/lib 下的log4j-core和log4j-api更新到2.15.0版本

2. 更新解决方式

  1. 一周后log4j2的2.16版本也暴露出漏洞,等到更新至2.17版本的时候,elasticsearch也推出了7.16.2版本,所以想着将两者都进行更新,之后重启elasticsearch时候报错;uncaught exception in thead [main]处理log4j2遇到的问题

  2. 查看后发现使用systemctl启动时,引用的service文件中使用的用户和组并非root用户,所以问题应该不在这里,只是当时一直盯着了ERROR看了;之后发现另外的错误信息,java.lang.IllegalStateException: jar hell!处理log4j2遇到的问题

  3. 发现问题确实在日志体现的很完善了,就是因为elasticsearch启动引用了相同的jar文件,应该是之前更新的log4j-core的2.15版本和更新elasticsearch7.16.2产生的elasticsearch7.16.2的jar文件冲突了;删除掉log4j-core的2.15版本文件,并且将log4j-api更新到最新2.17.0版本,之后重启elasticsearch正常;之后依次重启集群其他节点,都正常后,检查集群信息,green状态并且分片百分比为100

上一篇:.net 6 中使用Autofac


下一篇:Spring Boot 11. 与检索