服务器升级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

相关文章

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

一文详解Python中数据清洗与处理的常用方法

《一文详解Python中数据清洗与处理的常用方法》在数据处理与分析过程中,缺失值、重复值、异常值等问题是常见的挑战,本文总结了多种数据清洗与处理方法,文中的示例代码简洁易懂,有需要的小伙伴可以参考下... 目录缺失值处理重复值处理异常值处理数据类型转换文本清洗数据分组统计数据分箱数据标准化在数据处理与分析过

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常

mysql外键创建不成功/失效如何处理

《mysql外键创建不成功/失效如何处理》文章介绍了在MySQL5.5.40版本中,创建带有外键约束的`stu`和`grade`表时遇到的问题,发现`grade`表的`id`字段没有随着`studen... 当前mysql版本:SELECT VERSION();结果为:5.5.40。在复习mysql外键约

Vue项目中Element UI组件未注册的问题原因及解决方法

《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

关于@MapperScan和@ComponentScan的使用问题

《关于@MapperScan和@ComponentScan的使用问题》文章介绍了在使用`@MapperScan`和`@ComponentScan`时可能会遇到的包扫描冲突问题,并提供了解决方法,同时,... 目录@MapperScan和@ComponentScan的使用问题报错如下原因解决办法课外拓展总结@

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,