跳到主要内容

数据管理

数据存储介绍

在单机部署模式下,存储组件均已内置于镜像内,使用者并不需要另外安装,产生的数据通过挂载的方式存储于服务器指定目录。

HAP 默认数据路径为 /data/hap,如果你有自定义数据路径,则以实际为准

存储组件产生的数据默认挂载在服务器的 /data/hap/script/volume/data/ 目录下,目录结构呈下:

/data/hap/script/volume/data/
├── elasticsearch
├── elasticsearch-8
├── kafka
├── logs
├── mongodb
├── mysql
├── redis
├── storage
└── zookeeper

各目录存储数据说明:

  • elasticsearch , v3.9.0 以前版本的 elasticsearch 数据目录

  • elasticsearch-8,v3.9.0 及以后版本的 elasticsearch 数据目录,主要支撑超级搜索、应用日志功能

  • kafka,存储消息队列的数据,过期数据默认会自动清理

  • logs,组件服务的日志目录

  • mongodb,存储业务数据(如:应用、工作表、工作流等)

  • mysql,主要存储用户、组织等系统基础数据

  • redis,缓存数据

  • storage,存储附件一类数据

  • zookeeper,为 kafka 提供服务

数据备份

  • 参考 HAP 提供的备份文档

  • 如果用的是云主机,可以使用云厂商的磁盘快照功能

数据清理

经验表明,logs、mongodb 和 storage 三类数据占用的磁盘空间相对较大

  • logs 目录下存储的组件服务的日志,如果你不需要这些日志数据,可以选择进行清理

  • mongodb 存储的是业务数据,目前仅支持日志数据归档清理已删除过的应用数据

  • storage 存储的是附件一类数据,这类数据为用户在页面所上传,如果磁盘容量无法承载业务量,建议页面上减小上传大小限制

如果你的环境升级过版本,历史版本的镜像如果没有清理,也会占用一些磁盘容量

历史版本镜像清理示例
  1. 查看当前服务器上的镜像文件列表

    [root@localhost ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    nocoly/hap-community 4.4.2 cacc79998cbd 5 days ago 9.33GB
    nocoly/hap-community 4.3.0 e0c6e370de63 9 days ago 9.26GB
    nocoly/hap-doc 1.2.0 cc4d668f289b 4 months ago 2.66GB
    • 比如当前版本为 4.4.2 ,则 4.3.0 的镜像可以进行清理
  2. 清理历史版本镜像

    docker image rm nocoly/hap-community:4.3.0

    docker image rm e0c6e370de63

如果以上清理方法无法解决磁盘空间不足的问题,则需要考虑扩容磁盘容量

数据迁移