构建指南
本页内容与仓库 README 中的构建指南保持一致。如需完整的编译指南(Docker 编译、UFS 模块、安装包打包等),请参考下载和编译 Curvine。
本项目需要以下依赖项,请确保在继续之前已安装:
先决条件
- GCC:10 或更高版本(安装指南)
- Rust:1.86 或更高版本(安装指南)
- Protobuf:3.x 版本
- Maven:3.8 或更高版本(安装指南)
- LLVM:12 或更高版本(安装指南)
- FUSE:libfuse2 或 libfuse3 开发包
- JDK:1.8 或更高版本(OpenJDK 或 Oracle JDK)
- npm:9 或更高版本(Node.js 安装)
- Python:3.7 或更高版本(安装指南)
您可以选择:
- 使用预配置的
curvine-docker/compile/Dockerfile_rocky9来构建编译镜像 - 参考此 Dockerfile 为其他操作系统版本创建编译镜像
- curvine 在 dockerhub 上提供了
curvine/curvine-compile镜像
构建步骤(Linux - Ubuntu/Debian 示例)
使用 make 编译:
# 编译所有模块
make all
# 只编译核心模块:server client cli
make build ARGS="-p core"
# 编译 fuse 和核心模块
make build ARGS="-p core -p fuse"
# 编译 server-native SPDK/RDMA 支持。curvine-cli 和 curvine-fuse
# 会按客户端安全 profile 单独构建,避免被 server-native feature 污染。
make build ARGS="-p core -p fuse --spdk-rdma --spdk-dir /opt/spdk"
使用 build.sh 编译:
# 编译所有模块
bash build/build.sh
# 输出命令帮助
bash build/build.sh -h
# 只编译核心模块:server client cli
bash build/build.sh -p core
# 编译 fuse 和核心模块
bash build/build.sh -p core -p fuse
# 只编译 server-native SPDK/RDMA artifact
bash build/build.sh -p server --spdk-rdma --spdk-dir /opt/spdk
构建镜像:
# 使用 curvine-compile:latest docker 镜像编译
make docker-build
# 使用 curvine-compile:build-cached docker 镜像编译,该镜像已缓存大部分依赖 crate
make docker-build-cached
编译成功后,目标文件将生成在 build/dist 目录中。该文件是可用于部署或构建镜像的 Curvine 安装包。
启动单节点集群
备注
本节等价于从源码构建后的快速开始流程。如果你已有 release 包,请直接参考快速开始。
cd build/dist
# 启动 master 节点
bin/curvine-master.sh start
# 启动 worker 节点
bin/curvine-worker.sh start
挂载文件系统:
# 默认挂载点为 /curvine-fuse
bin/curvine-fuse.sh start
查看集群概览:
bin/cv report
使用兼容 HDFS 命令访问文件系统:
bin/cv fs mkdir /a
bin/cv fs ls /
访问 Web 界面:
http://your-hostname:9000
Curvine 使用 TOML 格式的配置文件。示例配置位于 conf/curvine-cluster.toml,主要配置项包括:
- 网络设置(端口、地址等)
- 存储策略(缓存大小、存储类型)
- 集群配置(节点数量、副本因子)
- 性能调优参数
停止集群:
# 停止 FUSE 挂载
bin/curvine-fuse.sh stop
# 停止 worker 和 master 节点
bin/curvine-worker.sh stop
bin/curvine-master.sh stop