Skip to main content

Build Instructions

This page mirrors the build instructions from the repository README. For the full compilation guide (Docker builds, UFS modules, distribution packaging), see Download and Compile Curvine.

This project requires the following dependencies. Please ensure they are installed before proceeding:

Prerequisites​

You can either:

  1. Use the pre-configured curvine-docker/compile/Dockerfile_rocky9 to build a compilation image
  2. Reference this Dockerfile to create a compilation image for other operating system versions
  3. We also supply curvine/curvine-compile image on dockerhub

Build Steps (Linux - Ubuntu/Debian example)​

Using make to build:

# Build all modules
make all

# Build core modules only: server client cli
make build ARGS="-p core"

# Build fuse and core modules
make build ARGS="-p core -p fuse"

# Build server-native SPDK/RDMA support. Client-side artifacts such as
# curvine-cli and curvine-fuse are built in isolated client-safe profiles.
make build ARGS="-p core -p fuse --spdk-rdma --spdk-dir /opt/spdk"

Using build.sh directly:

# Build all modules
bash build/build.sh

# Display command help
bash build/build.sh -h

# Build core modules only: server client cli
bash build/build.sh -p core

# Build fuse and core modules
bash build/build.sh -p core -p fuse

# Build only the server-native SPDK/RDMA artifact
bash build/build.sh -p server --spdk-rdma --spdk-dir /opt/spdk

Building Docker images:

# or use curvine-compile:latest docker images to build
make docker-build

# or use curvine-compile:build-cached docker images to build, this image already cached most dependency crates
make docker-build-cached

After successful compilation, target file will be generated in the build/dist directory. This file is the Curvine installation package that can be used for deployment or building images.

Start a single-node cluster​

note

This is the build-tree equivalent of the Quick Start flow. If you already have a release package, use Quick Start instead.

cd build/dist

# Start the master node
bin/curvine-master.sh start

# Start the worker node
bin/curvine-worker.sh start

Mount the file system:

# The default mount point is /curvine-fuse
bin/curvine-fuse.sh start

View the cluster overview:

bin/cv report

Access the file system using compatible HDFS commands:

bin/cv fs mkdir /a
bin/cv fs ls /

Access Web UI:

http://your-hostname:9000

Curvine uses TOML-formatted configuration files. An example configuration is located at conf/curvine-cluster.toml. The main configuration items include:

  • Network settings (ports, addresses, etc.)
  • Storage policies (cache size, storage type)
  • Cluster configuration (number of nodes, replication factor)
  • Performance tuning parameters

Stop the cluster:

# Stop the FUSE mount
bin/curvine-fuse.sh stop

# Stop the worker and master nodes
bin/curvine-worker.sh stop
bin/curvine-master.sh stop