分布式配置参数

对于分布式系统部署和配置,应该注意以下参数。

配置设置

要修改分布式配置,需要在默认配置文件system_vars_config.toml中修改以下参数:

  • nodeID

    nodeID 是Cube集群中节点的编号。在集群中,每个节点都有一个不同的编号。

  • addr-raft 与 addr-advertise-raft

    addr-raft是raft组rpc通信时的地址,是节点的10000号端口。

    1. addr-raft = "localhost:10000"

    只有使用 docker 部署时才需要调整addr-advertise-raft参数。

    对于 docker部署来说,Ip为0.0.0.0

    1. addr-raft = "0.0.0.0:10000"

    当部分客户端无法访问raft-group时,需要手动设置addr-advertise-raft

    1. addr-advertise-raft = "${HOST}:10000"
  • addr-client 与 addr-advertise-client

    addr-client是集群服务的地址,是节点的20000号端口。

    1. addr-client = "localhost:20000"

    只有使用 docker 部署时才需要调整addr-advertise-client参数。

    对于 docker部署来说,Ip为0.0.0.0

    1. addr-client = "0.0.0.0:20000"

    当客户端无法通过Cube监听的默认客户端链接访问Cube时,必须手动设置`addr-advertise-client

    1. addr-advertise-client = "${HOST}:20000"
  • dir-data

    dir-data是Cube数据的目录,在集群中,每个节点应该有不同的dir-data。 * store-heartbeat-duration

    store-heartbeat-duration是当下节点向调度器报告信息的时间,不大于10s。

  • prophet name

    Prophet Configs 中的name是节点名,在集群中,每个节点都有不同的prophet name

    1. name = "node0"
  • rpc-addr 和 rpc-advertise-addr

    rpc-addr是其他客户端访问prophet的地址,是节点的第30000号端口。

    1. rpc-addr = "localhost:30000"

    只有使用 docker 部署时才需要调整rpc-advertise-addr参数。

    对于 docker部署来说,Ip为0.0.0.0

    1. rpc-addr = "0.0.0.0:30000"

    当客户端无法访问prophet时,必须手动设置rpc-advertise-addr

    1. rpc-advertise-addr = "${HOST}:30000"
  • prophet-node

    prophet-node表示节点类型,对于集群中的三个prophet节点来说,该参数为true

    1. prophet-node = true

    对于存储节点(Pure Prophet Node)来说,该参数为false

    1. prophet-node = false
  • external-etcd

    对于集群中的三个prophet节点来说,external-etcd参数为空。

    1. external-etcd = ["", "", ""]

    对于存储节点,external-etcd参数为三个prophet节点的client-urls的列表,如:当prophet节点的端口号为40000时:

    1. external-etcd = ["http://ip_of_prophet_node1:40000", "http://ip_of_prophet_node2:40000", "http://ip_of_prophet_node3:40000"]
  • join

    join是为了让第二个和第三个prophet节点加入raft组。

    对于首个prophet节点,join取空值。

    1. join = ""

    对于第二、三个prophet节点,join取首个节点的peer-urls值,如:

    1. join = "http://ip_of_the_first_prophet_node:40000"

    对于存储节点,不需要调整join参数。

  • client-urls 和 advertise-client-urls

    client-urls 公开给集群中的其他节点,是节点的40000号端口:

    1. client-urls = "http://localhost:40000"

    只有使用 docker 部署时才需要调整advertise-client-urls参数。 对于docker部署,Ip为0.0.0.0

    1. client-urls = "http://0.0.0.0:40000"

    当客户端无法通过prophet监听的默认客户端链接访问prophet时,需要手动设置advertise-client-urls

    1. advertise-client-urls = "http://${HOST}:40000
  • peer-urls 和 advertise-peer-urls

    peer-urls是prophet节点监听的成员地址的列表,是节点的40000号端口:

    1. peer-urls = "http://localhost:50000"

    只有使用 docker 部署时才需要调整advertise-peer-urls参数。 对于docker部署,Ip为0.0.0.0

    1. peer-urls = "http://0.0.0.0:50000"

    当节点无法被prophet节点监听到时,需要手动设置advertise-peer-urls

    1. advertise-peer-urls = "http://${HOST}:50000"
  • max-replicas max-replicas是prophet组中最大副本数,应该设置为3。

    1. max-replicas = 3