服务器升级Nacos2.2.3报错、rocksdb报错问题处理

2024-06-07 04:12

本文主要是介绍服务器升级Nacos2.2.3报错、rocksdb报错问题处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

由于系统之前使用的Nacos2.0.4有反序列化漏洞,故需要将Nacos升级到2.2.3版本。
该Nacos在本地运行没有问题,但是在Windows服务器运行就会报错:

rocksdb java.lang.UnsatisfiedLinkError: C:\Users\Administrator\AppData\Local\Temp\2\librocksdbjni5975940319059115965.dll: Can't find dependent libraries

表面上看是找不到dll文件,于是去百度,发现各种解决办法均无效。

刨根究底,发现这个问题是由于Nacos引用了rocksdb导致的,于是从rocksdb着手解决。

猜想过是因为jar包没有Temp目录的权限,从而导入文件失败导致,直接手动复制文件进目录,已然报错。
后来发现有网友说手动导入rocksdb依赖:

<dependency><groupId>org.rocksdb</groupId><artifactId>rocksdbjni</artifactId><version>版本号改成了跟Nacos依赖相同的版本</version><classifier>win64</classifier>
</dependency>

导入后发现这个依赖只是Nacos原有依赖排除掉除win64外的其他版本,并没有什么帮助。

陷入思考……

突然想到,之前旧版本(5.18.4)可以正常使用,这次Nacos2.2.3依赖的7.7.3却无法正常使用,怀疑是导入的依赖与系统(CPU?)不兼容。

于是将导入的rocksdb依赖改为:

<dependency><groupId>org.rocksdb</groupId><artifactId>rocksdbjni</artifactId><version>5.18.4</version><classifier>win64</classifier>
</dependency>

也就是改成了Nacos2.0.4依赖的rocksdb。
但是启动报了另外一个错,具体就不贴了,意思就是有一个方法不存在,猜想是7.7.3对5.18.4增加了新的方法,而且Nacos2.2.3使用了。

于是直接上mvn仓库找到最新版rocksdb,将依赖改为:

<dependency><groupId>org.rocksdb</groupId><artifactId>rocksdbjni</artifactId><version>9.2.1</version><classifier>win64</classifier>
</dependency>

然后本地测试的时候发现aliyun没有这么高等级的依赖,只能降到7.10.2才能依赖进来。

但是7.10.2和7.7.3存在着相同的问题。

于是打算从5.18.4 ~ 7.7.3之间来寻找一个能用的依赖。

直接试了6.29.5,也就是升级大版本7之前的最高版本。

然后启动成功!

总结:
Nacos项目新增依赖如下(放到所有依赖最上面):

<dependency><groupId>org.rocksdb</groupId><artifactId>rocksdbjni</artifactId><version>6.29.5</version><classifier>win64</classifier>
</dependency>

这篇关于服务器升级Nacos2.2.3报错、rocksdb报错问题处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1038133

相关文章

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1