Skip to content
Snippets Groups Projects
Unverified Commit 21682ff9 authored by Aylei's avatar Aylei Committed by GitHub
Browse files

add distributed mem-engine example (#5116)


* add distributed mem-engine example

Signed-off-by: default avatarAylei <rayingecho@gmail.com>

* remove redundant file

Signed-off-by: default avatarAylei <rayingecho@gmail.com>
parent bb3ed3cc
No related branches found
No related tags found
No related merge requests found
# Bootstrap Example 2
Assuming you are in MO's source directory.
Build mo-service -
```
make service
```
Start 3 mo-service instances configured as Log Store instances and 1 as Data Node instance in 4 different terminals on the same machine.
(**Note**: Currently, you need to start DN Store **first**.)
```
./mo-service -cfg etc/distributed-mem-engine-exampl/dn-node-1.toml
```
```
./mo-service -cfg etc/distributed-mem-engine-exampl/log-node-1.toml
```
```
./mo-service -cfg etc/distributed-mem-engine-exampl/log-node-2.toml
```
```
./mo-service -cfg etc/distributed-mem-engine-exampl/log-node-3.toml
```
```
./mo-service -cfg etc/distributed-mem-engine-exampl/cn-node-1.toml
```
It takes several seconds to start each process on mac as the SSD is slow when invoking fsync(). After about 10-20 seconds, you should be able to see a minimal MO cluster with just 1 Data Service and 3 Log Service instances. On each Log Service instance, there is a HAKeeper replica and a Log Shard replica.
# service node type, [DN|CN|LOG]
service-type = "CN"
[log]
level = "debug"
format = "json"
max-size = 512
[hakeeper-client]
service-addresses = [
"127.0.0.1:32001",
"127.0.0.1:32011",
"127.0.0.1:32021",
]
[[fileservice]]
name = "LOCAL"
backend = "MEM"
[[fileservice]]
name = "S3"
backend = "MEM"
[[fileservice]]
name = "ETL"
backend = "DISK-ETL"
data-dir = "store"
[cn]
uuid = "dd1dccb4-4d3c-41f8-b482-5251dc7a41bf"
listen-address = "127.0.0.1:3307"
role = "TP"
[cn.Engine]
type = "memory"
[observability]
statusPort = 9001
# service node type, [DN|CN|LOG]
service-type = "DN"
[log]
level = "info"
format = "json"
max-size = 512
[hakeeper-client]
service-addresses = [
"127.0.0.1:32001",
"127.0.0.1:32011",
"127.0.0.1:32021",
]
[[fileservice]]
name = "LOCAL"
backend = "MEM"
[[fileservice]]
name = "S3"
backend = "MEM"
[[fileservice]]
name = "ETL"
backend = "DISK-ETL"
data-dir = "store"
[dn]
uuid = "dd4dccb4-4d3c-41f8-b482-5251dc7a41bf"
listen-address = "127.0.0.1:41010"
service-address = "127.0.0.1:41010"
[dn.Txn.Storage]
# txn storage backend implementation. [TAE|MEM]
backend = "MEM"
[observability]
statusPort = 8001
# service node type, [DN|CN|LOG]
service-type = "LOG"
[log]
level = "info"
format = "json"
max-size = 512
[logservice]
deployment-id = 1
data-dir = "node-1-data"
uuid = "7c4dccb4-4d3c-41f8-b482-5251dc7a41bf"
raft-address = "127.0.0.1:32000"
logservice-address = "127.0.0.1:32001"
gossip-address = "127.0.0.1:32002"
gossip-seed-addresses = [
"127.0.0.1:32002",
"127.0.0.1:32012",
"127.0.0.1:32022",
]
[logservice.BootstrapConfig]
bootstrap-cluster = true
num-of-log-shards = 1
num-of-dn-shards = 1
num-of-log-shard-replicas = 3
init-hakeeper-members = [
"131072:7c4dccb4-4d3c-41f8-b482-5251dc7a41bf",
"131073:8c4dccb4-4d3c-41f8-b482-5251dc7a41bf",
"131074:9c4dccb4-4d3c-41f8-b482-5251dc7a41bf",
]
[logservice.HAKeeperConfig]
tick-per-second = 1
log-store-timeout = "20s"
dn-store-timeout = "10s"
[[fileservice]]
name = "LOCAL"
backend = "MEM"
[[fileservice]]
name = "S3"
backend = "MEM"
[[fileservice]]
name = "ETL"
backend = "DISK-ETL"
data-dir = "store"
[observability]
statusPort = 7001
[hakeeper-client]
service-addresses = [
"127.0.0.1:32001",
"127.0.0.1:32011",
"127.0.0.1:32021",
]
# service node type, [DN|CN|LOG]
service-type = "LOG"
[log]
level = "info"
format = "json"
max-size = 512
[logservice]
deployment-id = 1
data-dir = "node-2-data"
uuid = "8c4dccb4-4d3c-41f8-b482-5251dc7a41bf"
raft-address = "127.0.0.1:32010"
logservice-address = "127.0.0.1:32011"
gossip-address = "127.0.0.1:32012"
gossip-seed-addresses = [
"127.0.0.1:32002",
"127.0.0.1:32012",
"127.0.0.1:32022",
]
[logservice.BootstrapConfig]
bootstrap-cluster = true
num-of-log-shards = 1
num-of-dn-shards = 1
num-of-log-shard-replicas = 3
init-hakeeper-members = [
"131072:7c4dccb4-4d3c-41f8-b482-5251dc7a41bf",
"131073:8c4dccb4-4d3c-41f8-b482-5251dc7a41bf",
"131074:9c4dccb4-4d3c-41f8-b482-5251dc7a41bf",
]
[logservice.HAKeeperConfig]
tick-per-second = 1
log-store-timeout = "20s"
dn-store-timeout = "10s"
[[fileservice]]
name = "LOCAL"
backend = "MEM"
[[fileservice]]
name = "S3"
backend = "MEM"
[[fileservice]]
name = "ETL"
backend = "DISK-ETL"
data-dir = "store"
[hakeeper-client]
service-addresses = [
"127.0.0.1:32001",
"127.0.0.1:32011",
"127.0.0.1:32021",
]
[observability]
statusPort = 7002
# service node type, [DN|CN|LOG]
service-type = "LOG"
[log]
level = "info"
format = "json"
max-size = 512
[logservice]
deployment-id = 1
data-dir = "node-3-data"
uuid = "9c4dccb4-4d3c-41f8-b482-5251dc7a41bf"
raft-address = "127.0.0.1:32020"
logservice-address = "127.0.0.1:32021"
gossip-address = "127.0.0.1:32022"
gossip-seed-addresses = [
"127.0.0.1:32002",
"127.0.0.1:32012",
"127.0.0.1:32022",
]
[logservice.BootstrapConfig]
bootstrap-cluster = true
num-of-log-shards = 1
num-of-dn-shards = 1
num-of-log-shard-replicas = 3
init-hakeeper-members = [
"131072:7c4dccb4-4d3c-41f8-b482-5251dc7a41bf",
"131073:8c4dccb4-4d3c-41f8-b482-5251dc7a41bf",
"131074:9c4dccb4-4d3c-41f8-b482-5251dc7a41bf",
]
[logservice.HAKeeperConfig]
tick-per-second = 1
log-store-timeout = "20s"
dn-store-timeout = "10s"
[[fileservice]]
name = "LOCAL"
backend = "MEM"
[[fileservice]]
name = "S3"
backend = "MEM"
[[fileservice]]
name = "ETL"
backend = "DISK-ETL"
data-dir = "store"
[hakeeper-client]
service-addresses = [
"127.0.0.1:32001",
"127.0.0.1:32011",
"127.0.0.1:32021",
]
[observability]
statusPort = 7003
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment