首页 > 其他分享 >解决Kuboard etcd 空间超过2G报:etcdserver: mvcc: database space exceeded。无法访问

解决Kuboard etcd 空间超过2G报:etcdserver: mvcc: database space exceeded。无法访问

时间:2024-09-29 15:02:21浏览次数:9  
标签:etcdserver database -- 无法访问 2381 etcd snap kuboard root

解决Kuboard etcd 空间超过2G后无法访问问题

Kuboard突然无法访问,使用kubernetes运行的kuboard

参考:

https://github.com/eip-work/kuboard-press/issues/526

https://blog.csdn.net/wdy_2099/article/details/133203698

排查问题

查看日志信息

通过查看pod日志看到错误信息为:etcdserver: mvcc: database space exceeded。

查看etcd的官方指导,etcd默认的空间配额限制为2G,超出空间配额限制就会影响服务。

kuboard会自己创建一个基于eipwork/etcd-host镜像的etcd DaemonSet。

查看数据映射的空间大小

查看kuboard下的etcd映射的存储路径,默认在/usr/share/kuboard/etcd

[root@master1 snap]# cd /usr/share/kuboard/etcd/member/snap
[root@master1 snap]# ls -lrth
总用量 2.1G
-rw-r--r-- 1 root root  11K 9月  26 20:16 000000000000000b-0000000000a1c264.snap
-rw-r--r-- 1 root root  11K 9月  27 08:11 000000000000000b-0000000000a1e975.snap
-rw-r--r-- 1 root root  11K 9月  27 20:06 000000000000000b-0000000000a21086.snap
-rw-r--r-- 1 root root  11K 9月  28 08:01 000000000000000b-0000000000a23797.snap
-rw-r--r-- 1 root root  11K 9月  28 19:56 000000000000000b-0000000000a25ea8.snap
-rw------- 1 root root 2.1G 9月  29 14:32 db

可以看到文件已经达到2.1G,基本可以确定是因为达到空间配额限制,无法正常启动。

临时解决方案

进入etcd容器,执行压缩命令,整理多余空间,取消告警信息

此时etcd容器因存活检测一直在重启,修改存活检测时长

kubectl edit daemonsets.apps -n kuboard kuboard-etcd
# 将 initialDelaySeconds 修改为3000
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /health
              port: 2381
              scheme: HTTP
            initialDelaySeconds: 30
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
# 在master节点通过命令进入etcd容器,pod名称替换成自己的
kubectl -n kuboard exec -it kuboard-etcd-6x8jf sh

# 端口自行查看 (不建议使用 127.0.0.1 使用 master 的网卡IP地址)
# 查看etcd的状态
ETCDCTL_API=3 etcdctl --endpoints="192.168.2.81:2381" --write-out=table endpoint status
# 可以看到error信息中有一条警告信息:alarm:NOSPACE

# 压缩旧版本
ETCDCTL_API=3 etcdctl --endpoints="192.168.2.81:2381" compact $(ETCDCTL_API=3 etcdctl --endpoints="192.168.2.81:2381" endpoint status --write-out="json" | egrep -o '"revision":[0-9]*' | egrep -o '[0-9].*')

# 整理多余的空间
ETCDCTL_API=3 etcdctl --endpoints="192.168.2.81:2381" defrag

# 取消告警信息(之前有nospace的告警)
ETCDCTL_API=3 etcdctl --endpoints="192.168.2.81:2381" alarm disarm

# 重新查看etcd的状态(发现ERROR字段已为空)
ETCDCTL_API=3 etcdctl --endpoints="192.168.2.81:2381" --write-out=table endpoint status
# ERROR信息为空,且DB SIZE 已小于2G则表示成功

手动构建镜像

找到etcd镜像的github地址,通过手动构建镜像时修改DockerFile文件中的启动命令

# 表示每隔一个小时自动压缩一次
--auto-compaction-retention=1
# 磁盘空间调整为 8G,官方建议最大 8G(单位是字节)
--quota-backend-bytes=8388608000

标签:etcdserver,database,--,无法访问,2381,etcd,snap,kuboard,root
From: https://www.cnblogs.com/yg0070/p/18439916

相关文章

  • 若依框架上传图片到本地,部署到服务器无法访问解决方法
    1.在后端代码ruoyi-admin中的application.yaml中修改文件上传路径 如需上传到服务器,请修改成服务器的路径  2.maven打包成ruoyi-admin.jar的文件上传到服务器中3.如果你使用的是宝塔来部署项目,请在nginx配置中注释掉一下代码:#location~.*\.(gif|jpg|jpeg|png|......
  • 学习011-03-01 Business Classes vs Database Tables(业务类与数据库表)
    BusinessClassesvsDatabaseTables(业务类与数据库表)TheXAFisbasedonanobject-baseddatahandlingapproach.Inthistopic,wediscussthereasonswhythisapproach,asopposedtotherelationalmodelofdatahandling,waschosen.Themethodsthatal......
  • Database Server Error怎么办
    遇到“DatabaseServerError”通常意味着在尝试访问或操作数据库时遇到了问题。这类错误可能由多种原因引起,下面是一些常见的解决步骤:检查连接信息:确认数据库的用户名、密码、主机地址和端口是否正确。检查网络连接是否正常。查看错误日志:查看应用程序的日志文件,通常......
  • 解决ifream 跟web-view 无法访问orchard core等一些url问题。
    域名不一样会因为安全设置无法跳转//添加自定义中间件来设置X-Frame-Optionsapp.Use(async(context,next)=>{//设置为ALLOW-FROM以允许特定域名context.Response.Headers["X-Frame-Options"]="ALLOW-FROMhttps://pc.qubild.162super.com,https://qubild.162supe......
  • 【YashanDB知识库】如何配置jdbc驱动使getDatabaseProductName()返回Oracle
    本文转自YashanDB官网,具体内容请见https://www.yashandb.com/newsinfo/7352676.html?templateId=1718516问题现象某些三方件,例如工作流引擎activiti,暂未适配yashandb,使用中会出现如下异常:问题的风险及影响影响客户业务无法进行。问题影响的版本所有的yashandbjdbc驱动版本。问题......
  • web.database() 创建的数据库对象线程安全吗?
    免责声明:尝试谷歌,一无所获,我管理我可能谷歌搜索得不好,但我没有想法。我有一个web.py应用程序,我需要定期运行一些数据库维护任务,并且我'我希望使用线程来完成此操作,以便Python应用程序完全独立。我的问题是:为了做到这一点,我必须采取什么样的预防措施(如果有的话)?计划是在调......
  • 无法访问 Numpy
    我正在尝试在VSCodium(Python新手)上运行代码,但它说找不到numpy模块,但是当尝试安装它时,它说要求已经满足!我阅读了有关此问题的多个主题,但无法得到任何解决此问题的信息!我已经尝试解决这个问题几个小时了,所以非常感谢任何帮助/提示!看起来你是在使用错误的Python......
  • SQLSyntaxErrorException: Unknown database ‘server‘ ---数据库相关报错解决方案
    java.sql.SQLSyntaxErrorException:Unknowndatabase'server'这个错误通常表示你尝试连接的数据库名称(在这个例子中是server)在你的数据库服务器上不存在。这可能是由于以下几种原因之一:数据库名称拼写错误:检查你在连接字符串中指定的数据库名称是否正确,确保没有拼写错......
  • 访问WordPress网站提示“建立数据库连接时出错”或者“Error establishing a database
    当访问WordPress网站时出现“建立数据库连接时出错”或“Errorestablishingadatabaseconnection”的提示时,这通常表示WordPress无法成功连接到数据库。以下是几个可能的原因及解决方法:原因数据库连接信息错误:WordPress配置文件中的数据库连接信息(如用户名、密码、主机名)不......
  • [VLDBJ24] Survey of vector database management systems
    https://blog.csdn.net/Datawhale/article/details/1344535331.Intro非结构化数据压成\(D\)维向量五个问题:模糊搜索标准:向量不太适应模糊语义查询更多代价:\(O(D)\)内存消耗大:全要访问缺乏结构:(有结构的可以排序啥的index她不行)和属性不兼容(不太明白,可能是别的可以......