首页
留言
关于
统计
友链
Search
1
[C++Quiz]#4、#116、#174
1 阅读
2
C/C++选手初学Python可能遇到的问题
0 阅读
3
[C++Quiz]#27、#41、#44
0 阅读
4
[C++Quiz]#185、#207、#219
0 阅读
5
[C++]std::variant
0 阅读
C/C++
数据结构与算法
CSLab
xv6
bustub
6.5840
数据库
doris
SQL
做个数据库
工具
CS
登录
Search
标签搜索
C++
cppquiz
xv6
算法
doris
论文
os
CS
leetcode
Git
tools
并发
6.5840
Koarz
累计撰写
24
篇文章
累计收到
4
条评论
首页
栏目
C/C++
数据结构与算法
CSLab
xv6
bustub
6.5840
数据库
doris
SQL
做个数据库
工具
CS
页面
留言
关于
统计
友链
搜索到
2
篇与
的结果
2025-03-24
[doris]doris笔记
Image + CheckpointCheckpoint 相关代码在fe/fe-core/src/main/java/org/apache/doris/master/Checkpoint.java中,主要部分为 doCheckpoint() 函数该函数主要逻辑为:检查 imageVersion 和 checkPointVersion 的大小关系, 如果 image版本 比 checkpoint版本新那么直接返回(说明checkpoint过时了不需要做同步)检查内存是否足够去做 checkpoint写 image 文件,做持久化,将 image.ckpt 移动到 image.dataVersion 文件加载 image 文件,检查 image 是否有效,至此 image 文件保存完毕将 image 文件发送给所有非 master fe 节点当 5 完成之后删除它们的旧版本日志删除 master 的旧版本日志image文件格式:|- Image --------------------------------------| | - Magic String (4 bytes) | | - Header Length (4 bytes) | | |- Header -----------------------------| | | | |- Json Header ---------------| | | | | | - version | | | | | | - other key/value(undecided)| | | | | |-----------------------------| | | | |--------------------------------------| | | | | |- Image Body -------------------------| | | | Object a | | | | Object b | | | | ... | | | |--------------------------------------| | | | | |- Footer -----------------------------| | | | - Checksum (8 bytes) | | | | |- object index --------------| | | | | | - index a | | | | | | - index b | | | | | | ... | | | | | |-----------------------------| | | | | - other value(undecided) | | | |--------------------------------------| | | - Footer Length (8 bytes) | | - Magic String (4 bytes) | |----------------------------------------------|相关代码在:fe/fe-core/src/main/java/org/apache/doris/persist/meta/MetaReader.java
2025年03月24日
0 阅读
0 评论
0 点赞
2023-10-27
[doris]doris编译环境
这是尝试doris编译的第n次,这玩意是真难搞...无数次尝试直接编译之后,我的建议是使用docker首先拉取镜像docker pull apache/doris:build-env-ldb-toolchain-latest拉取成功之后使用docker images查看是否拉取成功。之后可以下载你fork的doris源码,再使用docker挂载目录docker run -it --network=host --name mydocker -v /your/local/.m2:/root/.m2 -v /your/local/doris-DORIS-x.x.x-release/:/root/doris-DORIS-x.x.x-release/ apache/doris:build-env-ldb-toolchain-latest注意自己修改成你自己的目录(/your/local/..)。如果你因为某些原因开放端口,那样上网的话,打开docker之后你可能没法联网,这时候就需要把--network=host去掉,接下来就是thirdparty。thirdparty是真难搞,我尝试了无数次还是没编译好,而且有时候download-thirdparty还会下载不了,还得自己下好再放到src目录,这里我建议用编译好的,能省无数的事。https://github.com/apache/doris-thirdparty/releases/tag/automation,你可以在这里找到合适的资源下载,最后把installed文件夹放在你的doris/thirdparty/目录下即可,其他的可以看官方文档就行了,如果有其他问题,修改就行,最后在docker里运行build.sh就好
2023年10月27日
0 阅读
0 评论
0 点赞