写在最前:
注意事项(避坑指南,务必阅读)
- 依赖下载问题:部分组件(如 BoostKit-ksl、BoostKit-kaccjson)可能因网络受限无法从华为官网下载,可从镜像仓库获取:https://gitee.com/one-more-bowl-at-most/omnistream_dependency,建议所需软件可以提前下载,直接上传到固定文件夹。
- 服务器资源要求:编译过程(尤其是 LLVM、OmniStream 核心)消耗 CPU 和内存较大,建议服务器规格≥8U32G;若资源不足(如编译时卡顿、报错 “内存溢出”),需扩容。
- 并行度调整:
$PARALLELISM 需根据实际 CPU 核心数调整(例如 16 核 CPU 可设为 16,32 核设为 32),避免线程过多导致系统卡顿或编译失败(推荐值:CPU 核心数 ×1,不超过核心数 ×1.5)。 - 环境变量生效问题:若编译时提示 “找不到头文件”“找不到库文件”,需先执行
source /etc/profile 确保环境变量生效;若仍报错,检查环境变量中路径是否与实际安装路径一致(如 JDK、LLVM 的安装目录是否正确)。 - 补丁应用问题:安装 snappy、librdkafka 时需应用指定补丁,若补丁应用失败(提示 “文件不匹配”),需确认源码版本是否正确(snappy 需为 openEuler-24.03-LTS-SP1 版本,librdkafka 需为 2.6.1 版本)。
一、操作系统要求
- OS:OpenEuler 22.03 LTS SP3(仅支持该版本,确保依赖兼容性,避免版本不匹配导致编译失败)
- 内存:32G以上
二、核心配置补充(前置必执行)
*如果不进行这步的,下面涉及-j$PARALLELISM的命令,可以改成-j16或-j32。(编译时主要看内存,只要内存够,其他不是问题。)
三、安装依赖组件
说明:所有组件统一安装在 /opt/buildtools/ 目录下,便于环境管理和路径统一配置,避免分散存放导致的依赖找不到问题。
1. 通过 yum 安装基础依赖(一键安装系统级工具)
2. 安装 JAVA(OpenJDK 8,适配 OmniStream 依赖)**可以使用bisheng JDK代替。
3. 安装 Cmake(3.28.2 版本,编译核心工具)
4. 安装 Maven(3.8.3 版本,Java 项目构建工具)
5. 安装 LLVM(15.0.4 版本,编译器基础设施)
6. 安装 googletest(1.14.0 版本,C++ 单元测试框架)
7. 安装 jemalloc(5.3.0 版本,高效内存分配器)
8. 安装 nlohmann Json(3.11.3 版本,C++ JSON 库)
9. 安装 snappy(1.1.10 版本,压缩库)
10. 安装 rocksdb(8.11.4 版本,键值存储数据库)
11. 安装 xxHash(0.8.2 版本,哈希算法库)
12. 安装 BoostKit-ksl(鲲鹏软件库,性能优化组件)
第二天,我们将进行编译OmniStream,敬请期待。
写在最前:
注意事项(避坑指南,务必阅读)
$PARALLELISM需根据实际 CPU 核心数调整(例如 16 核 CPU 可设为 16,32 核设为 32),避免线程过多导致系统卡顿或编译失败(推荐值:CPU 核心数 ×1,不超过核心数 ×1.5)。source /etc/profile确保环境变量生效;若仍报错,检查环境变量中路径是否与实际安装路径一致(如 JDK、LLVM 的安装目录是否正确)。一、操作系统要求
二、核心配置补充(前置必执行)
*如果不进行这步的,下面涉及-j$PARALLELISM的命令,可以改成-j16或-j32。(编译时主要看内存,只要内存够,其他不是问题。)
三、安装依赖组件
说明:所有组件统一安装在
/opt/buildtools/目录下,便于环境管理和路径统一配置,避免分散存放导致的依赖找不到问题。1. 通过 yum 安装基础依赖(一键安装系统级工具)
2. 安装 JAVA(OpenJDK 8,适配 OmniStream 依赖)**可以使用bisheng JDK代替。
3. 安装 Cmake(3.28.2 版本,编译核心工具)
4. 安装 Maven(3.8.3 版本,Java 项目构建工具)
5. 安装 LLVM(15.0.4 版本,编译器基础设施)
6. 安装 googletest(1.14.0 版本,C++ 单元测试框架)
7. 安装 jemalloc(5.3.0 版本,高效内存分配器)
8. 安装 nlohmann Json(3.11.3 版本,C++ JSON 库)
9. 安装 snappy(1.1.10 版本,压缩库)
10. 安装 rocksdb(8.11.4 版本,键值存储数据库)
11. 安装 xxHash(0.8.2 版本,哈希算法库)
12. 安装 BoostKit-ksl(鲲鹏软件库,性能优化组件)
第二天,我们将进行编译OmniStream,敬请期待。