feat: support alloc shard on same node (#125)

* docs: fix example config

* feat: support alloc shard on duplicate node
9 files changed
tree: c813230313cf9f12bf3ac8bdb03971e9a5d77182
  1. .github/
  2. cmd/
  3. config/
  4. docs/
  5. pkg/
  6. scripts/
  7. server/
  8. .gitignore
  9. .golangci.yml
  10. CONTRIBUTING.md
  11. go.mod
  12. go.sum
  13. LICENSE
  14. Makefile
  15. README.md
  16. revive.toml
  17. tools.go
README.md

Ceresmeta

codecov License

CeresMeta is the meta service for managing the CeresDB cluster.

Status

The project is in a very early stage.

Quick Start

Build ceresmeta binary

make build

Standalone Mode

Although CeresMeta is designed to deployed as a cluster with three or more instances, it can also be started standalone:

# Set correct HostIP here.
export HostIP0={your_ip}

# ceresmeta0
mkdir /tmp/ceresmeta0
./ceresmeta --config ./config/example-standalone.toml

Cluster mode

Here is an example for starting CeresMeta in cluster mode (three instances) on single machine by using different ports:

# Set correct HostIP here.
export HostIP0={your_ip}
export HostIP1={your_ip}
export HostIP2={your_ip}

# Create directories.
mkdir /tmp/ceresmeta0
mkdir /tmp/ceresmeta1
mkdir /tmp/ceresmeta2

# Ceresmeta0
./ceresmeta --config ./config/exampl-cluster0.toml

# Ceresmeta1
./ceresmeta --config ./config/exampl-cluster1.toml

# Ceresmeta2
./ceresmeta --config ./config/exampl-cluster2.toml

Acknowledgment

CeresMeta refers to the excellent project pd in design and some module and codes are forked from pd, thanks to the TiKV team.

Contributing

The project is under rapid development so that any contribution is welcome. Check our Contributing Guide and make your first contribution!

License

CeresMeta is under Apache License 2.0.