commit | 8e38f4bc6fbf2be4bbf49268a501bc1ea719d933 | [log] [tgz] |
---|---|---|
author | CooooolFrog <zuliangwanghust@gmail.com> | Sat Oct 07 20:35:40 2023 +0800 |
committer | GitHub <noreply@github.com> | Sat Oct 07 07:35:40 2023 -0500 |
tree | 1d2dfc33c63a3c157335a54413d0693eabc95826 | |
parent | 7095a6a53b85ddcac684aacd28ce4722dd0d9454 [diff] |
feat: add deploy mode (#247) ## Rationale In the current implementation, every time the CeresDB node changes, it will cause large-scale scheduling in the cluster. However, in the actual situation, we hope to control the affected range of the cluster when deploy and debug. Therefore, we need to add a deploy mode switch to control cluster scheduling. ## Detailed Changes * Add `DeployMode` switch in `RebalancedShardScheduler`, shard topology will be locked when deploy mode is true. * Add some API to control `DeployMode`. ## Test Plan Pass all unit tests and test `DeployMode` take effect locally.
CeresMeta is the meta service for managing the CeresDB cluster.
The project is in a very early stage.
make build
Although CeresMeta is designed to deployed as a cluster with three or more instances, it can also be started standalone:
# ceresmeta0 mkdir /tmp/ceresmeta0 ./ceresmeta --config ./config/example-standalone.toml
Here is an example for starting CeresMeta in cluster mode (three instances) on single machine by using different ports:
# 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
CeresMeta refers to the excellent project pd in design and some module and codes are forked from pd, thanks to the TiKV team.
The project is under rapid development so that any contribution is welcome. Check our Contributing Guide and make your first contribution!
CeresMeta is under Apache License 2.0.