nexus中异常导致的不能正常启动的问题 '/nexus-data/db/config'
在kubeopertor中创建新的k8s集群时,总是报错10.12.8.16:8081/xx/xxx不通导致创建集群失败。在kubeoperator中查看nexus的容器状态为unhealth,且nexus的8081 8082 8083端口均不通,查看nexus容器得到报错
ERROR [ForkJoinPool.commonPool-worker-1] *SYSTEM com.orientechnologies.orient.core.storage.impl.local.paginated. OLocalPaginatedStorage - Exception `75806EC9` in storage `plocal:/nexus-data/db/config`: 2.2.36 (build d3beb772c02098ceaea89779a7afd4b7305d37 88, branch 2.2.x)
com.orientechnologies.orient.core.exception.OStorageException: Cannot open local storage '/nexus-data/db/config' with mode=rw
DB name="config"
可能是由于之前这台服务器的磁盘满了导致导致orientdb数据损坏,需要进行数据修复,重启nexus重启服务器依然异常。
由报错可知是config数据库出现问题
经过百度看到文章http://www.renhl.com/linux/2020/06/05/nexus-repair-orientdb.html
使用root权限进入容器
docker exec -it -u root 4344ab1ab44e sh
进入该db目录,删除所有*.wal文件
cd /nexus-data/db/config
rm -rf *.wal
查找修复工具nexus-orient-console.jar的路径
find / -name nexus-orient-console.jar
执行修复
java -jar /opt/sonatype/nexus/lib/support/nexus-orient-console.jar
orientdb> export database config-export
orientdb> drop database
orientdb> create database plocal:/nexus-data/db/config admin admin
orientdb> import database config-export.json.gz -preserveClusterIDs=true
orientdb> rebuild index *
orientdb> disconnect
这样数据库修复好了
还需要给db数据库更改权限,现在很多属主是root启动会有问题。
chmod 777 -R /nexus-data/nexus/db
重启nexus
docker start container_id && docker logs -f container_id
nexus启动成功,8081 8082 8083 端口都通了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求