Distributed Settings
For a distributed setting, the following parameters should be paied attention to.
Configuration Settings
To configurate a distributed setting, following parameters need to be modified in the default Configuration file ‘system_vars_config.toml’.
- nodeID
nodeID is the Node ID of the cube. In a cluster, each node should have a different nodeID.
- addr-raft and addr-advertise-raft
addr-raft is the address for raft-group rpc communication.
It is the 10000 port of the node.
1. addr-raft = "localhost:10000"
Only docker deployment need adjust addr-advertise-raft
For docker deployment, the ip is 0.0.0.0
1. addr-raft = "0.0.0.0:10000"
In the case that some clients cannot access the raft-group, addr-advertise-raft must be manually set.
1. addr-advertise-raft = "${HOST}:10000"
- addr-client and addr-advertise-client
addr-client is the address for cube service. It is the 20000 port of the node.
1. addr-client = "localhost:20000"
Only docker deployment need adjust addr-advertise-client
For docker deployment, the ip is 0.0.0.0
1. addr-client = "0.0.0.0:20000"
In the case that a client cannot access Cube through the default client URLs listened to by Cube, addr-advertise-client must be manually set.
1. addr-advertise-client = "${HOST}:20000"
- dir-data
dir-data is the directory for cube data. In a cluster, each node should have a different dir-data.
- store-heartbeat-duration
store-heartbeat-duration is the period for this node to report information to scheduler. It should be less than 10s.
- prophet name
name in Prophet Configs is the name of the node. In a cluster, each node should have a different prophet name.
1. name = "node0"
- rpc-addr and rpc-advertise-addr
rpc-addr is the address for other clients to access prophet. It is the 30000 port of the node.
1. rpc-addr = "localhost:30000"
Only docker deployment need adjust rpc-advertise-addr
For docker deployment, the ip is 0.0.0.0
1. rpc-addr = "0.0.0.0:30000"
In the case that a client cannot access prophet, rpc-advertise-addr must be manually set.
1. rpc-advertise-addr = "${HOST}:30000"
- prophet-node
prophet-node is whether the node is a pure prophet node. For the three prophet nodes, prophet-node is true.
1. prophet-node = true
For pure prophet nodes, prophet-node is false
1. prophet-node = false
- external-etcd
For the three prophet nodes, external-etcd is empty.
1. external-etcd = ["", "", ""]
For pure storage nodes, external-etcd is the list of the client-urls of the three prophet nodes, i.e. the 40000 port of the prophet nodes.
1. external-etcd = ["http://ip_of_prophet_node1:40000", "http://ip_of_prophet_node2:40000", "http://ip_of_prophet_node3:40000"]
- join
join is for the second and third prophet nodes to join the raft group. For the first prophet node, join is a empty string.
1. join = ""
For the second and third prophet node, join is the peer-urls of the first prophet node.
1. join = "http://ip_of_the_first_prophet_node:40000"
For pure storage nodes, there’s no need to adjust join.
- client-urls and advertise-client-urls
client-urls is exposed to other nodes in the cluster. It is 40000 port of the node
1. client-urls = "http://localhost:40000"
Only docker deployment need adjust advertise-client-urls
For docker deployment, the ip is 0.0.0.0
1. client-urls = "http://0.0.0.0:40000"
In the case that some clients ccannot access prophet through the default client URLs listened to by prophet, advertise-client-urls must be manually set.
1. advertise-client-urls = "http://${HOST}:40000
- peer-urls and advertise-peer-urls
peer-urls is the list of peer URLs to be listened to by a prophet node. It is the 40000 port of the node.
1. peer-urls = "http://localhost:50000"
Only docker deployment need adjust advertise-peer-urls
For docker deployment, the ip is 0.0.0.0
1. peer-urls = "http://0.0.0.0:50000"
In the case that a node cannot be listened to by a prophet node, advertise-peer-urls should be manually set.
1. advertise-peer-urls = "http://${HOST}:50000"
- max-replicas
max-replicas is the max number of replica in a prophet group. It should be 3.
1. max-replicas = 3
