事故原因:

使用docker安装nexus3.13,没有配置日志定期删除导致日志太多(30多G)。

解决步骤:

1、停止nexus,删除docker容器的日志
docker容器日志存放目录,最后那个路径为容器ID
/var/lib/docker/containers/a51a0f83c3fbc66e1ba7b4a6556c16487d0da9746c90fa79345532faa79030c1/

2、配置docker参数
在/etc/docker/daemon.json文件中,增加如下参数,并重启docker

{
	    "log-driver": "json-file",
	    "log-opts": {
	      "max-size": "10m",
	      "max-file": "3"
	      }
	    }
orientdb数据修复
2019-12-04 13:16:37,261+0800 ERROR [ForkJoinPool.commonPool-worker-1]  *SYSTEM org.sonatype.nexus.orient.DatabaseInstanceImpl - Lifecycle operation start failed
com.orientechnologies.orient.core.exception.OStorageException: Cannot open local storage '/data/sonatype-work/nexus3/db/analytics' with mode=rw
        DB name="analytics"

重启nexus后如果还报如上错误,代表磁盘空间不足异常停机,导致orientdb数据损坏,需要进行数据修复

1、找到xxxxxx库的路径,如analytics库
一般在nexus持久化路径下的db目录:
/data/nexus-data/db :
accesslog analytics audit component config frozen.marker model.properties OSystem security

2、进入该db目录,删除所有*.wal文件

3、进入nexus控制台,
java -jar nexus目录/lib/support/nexus-orient-console.jar

3、连接库:
CONNECT PLOCAL:/data/nexus-data/db/analytics admin admin
注:如果有其他db损坏,重复执行修复即可

4、逐行执行以下命令:
REBUILD INDEX *
REPAIR DATABASE --fix-graph
REPAIR DATABASE --fix-links
REPAIR DATABASE --fix-ridbags
REPAIR DATABASE --fix-bonsai
DISCONNECT

5、重启nexus

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐