Install all required dependencies.
# Go to ForkBase root dir
$ mkdir build && cd build
$ cmake ..
$ makeForkBase has many compilation options, which can be found in CMakeList.txt.
# compile with RDMA and examples
$ cmake -DUSE_RDMA=ON -DENABLE_EXAMPLE=ON ..
$ make# go to build dir
$ cd build
$ ./bin/test_ustoreUnit test data are stored in ustore_data/ustore_2017.
$ ./bin/micro_benchUnit benchmark data are stored in ustore_data/ustore_2018.
All configurations can be set in conf/config.
Import settings are:
num_segments: maximum data segments a worker can storeworker_file: a list of worker nodeshttp_port: port for default RESTful service
Start ForkBase service, which will launch all worker processes and a default HTTP server.
$ ./bin/ustore_start.shStop ForkBase service.
$ ./bin/ustore_stop.shOr stop ForkBase service and remove related data.
$ ./bin/ustore_clean.shEnsure ForkBase service is on before running the benchmark. Better remove benchmarked data in the end.
$ ./bin/ustore_start.sh
$ ./bin/dist_bench
$ ./bin/ustore_clean.shEnsure ForkBase service is on.
$ ./bin/ustore_cli
# e.g., put a value
$ ./bin/ustore_cli put -k key -b branch -v valueAll APIs can be found in API doc.
Ensure ForkBase service is on.
# e.g., put a value
$ curl http://localhost:60600/put -X POST -d "key=key&branch=branch&value=value"All APIs can be found in API doc.