Apache Doris元数据介绍

​ Apache Doris 是一个分布式的MPP分析型数据库,它简单易用,支持MySQL协议,仅需压秒级就可以获取查询结果,有效的支持实时数据分析。

​ Apache Doris主要包括两个类型的节点:FE和BE。FE节点主要用来与客户端交互。一方面接收客户端的请求,对接收到的部分HTTP请求做转发处理(比如Streamload数据导入),其次它也对SQL做语法解析和构建SQL执行计划并将具体的执行计划下发给各BE节点等。FE节点包含Follower和Observer角色,Follower角色中选举出Master节点,Master节点主要用来记录和管理元数据,而BDBJE就是Doris的元数据管理工具。

​ BDBJE(Berkeley DB JE)是一个分布式的KV结构的嵌入式数据库引擎。它支持多线程方式访问,支持事务和数据备份恢复,能够高效的支持百万级别的记录。

​ Apache Doris将元数据的journal存放在BDBJE中。通过FE节点的doris-meta目录我们可以看到Doris的元数据结构如下图:

/path/to/palo-meta/
            |-- bdb/
            |   |-- 00000000.jdb
            |   |-- je.config.csv
            |   |-- je.info.0
            |   |-- je.info.0.lck
            |   |-- je.lck
            |   `-- je.stat.csv
            `-- image/
                |-- ROLE
                |-- VERSION
                `-- image.xxxx
1.bdb:

这个目录就是BDBJE的数据目录。其中:

(1)*.jdb(例如00000000.jdb):

这个文件就是BDBJE的数据文件,这个文件里面是具体的元数据journal信息。随着元数据journal的增多,这些文件的数量和数据量也会增大,当Doris定期做完image之后(默认是 50000条),过期的数据文件会被清理掉。所以如果在某些情况下,你的bdb目录一段时间内持续增大(几G甚至更多),那么你就要注意检查image是否能够正常生成,如果你能确定image是可以正常生成的情况下,你可以在FE的配置文件中新增edit_log_roll_num = 配置,该参数设定了每多少条元数据 journal,做一次 image,你可以适当改小这个数字,使得 image 更加频繁,从而加速删除旧的 journal。

(2)je.info.0:

这个文件是BDBJE的运行日志,通过这个日志,你可以查看BDBJE的具体运行情况。

2.image:

这个目录主要是存放Doris的一些元数据信息。其中:

(1)ROLE:

这个文件中存放了节点name和角色类型。Doris的FE节点只有两种角色Follower和Observer。

#Fri Nov 20 13:27:47 CST 2020
name=127.0.0.1_9010_1605850067231
role=FOLLOWER                                                                 
(2)VERSION:

这个文件中包含了Doris集群的clusterId和各节点之间相互认证的一个token。

#Fri Nov 20 13:27:47 CST 2020
token=6dd92119-ecd4-4d49-8a6c-9dbb5c2434rt
clusterId=2113522654
(3)image文件:

这个文件是Doris元数据的一个镜像文件。我们知道,只有FE的Master节点才能创建和写入Image文件,而其他Follower和Observer节点只能定期从Master节点同步Image文件,然后做元数据回放。image文件是根据元数据的journal信息生成的,它的命令后缀是根据最后一条日志的写入时间。所以正常情况下,Master节点的Image文件肯定是最新的,再做集群升级和元数据维护时,也要以Master节点的Image为准。

有些情况下,你也可能会看到一个 image.ckpt 文件。这是一个正在生成的元数据镜像。通过 du -sh 命令应该可以看到这个文件大小在不断变大,说明镜像内容正在写入这个文件。当镜像写完后,会自动重名为一个新的 image.xxxxx 并替换旧的 image 文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值