跳转至

均衡扩容后的Storage数据Graph

用户在扩容Storage服务后,可以自主决定是否均衡Storage服务中的数据。本文介绍如何设置均衡Storage数据。

NebulaGraph的Storage服务的扩容分为两个阶段,第一个阶段等待所有扩容的Pods为Ready的状态;第二个阶段执行BALANCE DATABALANCE LEADER命令均衡数据。这两个阶段将控制器副本的扩容过程与均衡数据过程解耦,使用户可以选择在低流量时进行均衡数据操作,有效降低数据迁移对在线服务的影响。

用户可以在集群的CR实例的配置文件中通过参数enableAutoBalance来控制是否自动均衡数据。

前提条件Graph

已使用K8s创建一个集群。具体步骤,参见Graph。

操作步骤Graph

以下示例使用名为nebula的集群说明如何设置enableAutoBalance

  1. 执行以下命令进入nebula集群的编辑页面。

    kubectl edit nebulaclusters.apps.nebula-graph.io nebula
    
  2. 在YAML文件的spec.storaged配置项中,添加enableAutoBalance并设置其值为true

    apiVersion: apps.nebula-graph.io/v1alpha1
    kind: NebulaCluster
    metadata:
      name: nebula
    spec:
      graphd:
        image: vesoft/nebula-graphd
        logVolumeClaim:
          resources:
            requests:
              storage: 2Gi
          storageClassName: fast-disks
        replicas: 1
        resources:
          limits:
            cpu: "1"
            memory: 1Gi
          requests:
            cpu: 500m
            memory: 500Mi
        version: v2.6.0
      imagePullPolicy: IfNotPresent
      metad:
        dataVolumeClaim:
          resources:
            requests:
              storage: 2Gi
          storageClassName: fast-disks
        image: vesoft/nebula-metad
        logVolumeClaim:
          resources:
            requests:
              storage: 2Gi
          storageClassName: fast-disks
        replicas: 1
        resources:
          limits:
            cpu: "1"
            memory: 1Gi
          requests:
            cpu: 500m
            memory: 500Mi
        version: v2.6.0
      nodeSelector:
        nebula: cloud
      reference:
        name: statefulsets.apps
        version: v1
      schedulerName: default-scheduler
      storaged:
        enableAutoBalance: true   //将其值设置为true时表示扩容后自动均衡Storage数据。
        dataVolumeClaim:
          resources:
            requests:
              storage: 2Gi
          storageClassName: fast-disks
        image: vesoft/nebula-storaged
        logVolumeClaim:
          resources:
            requests:
              storage: 2Gi
          storageClassName: fast-disks
        replicas: 3
        resources:
          limits:
            cpu: "1"
            memory: 1Gi
          requests:
            cpu: 500m
            memory: 500Mi
        version: v2.6.0
    ...    
    
    • 当设置enableAutoBalance的值为true时,表示扩容后自动均衡Storage数据。
    • 当设置enableAutoBalance的值为false时,表示扩容后不会均衡Storage数据。
    • 当不设置enableAutoBalance参数时,默认扩容Storage后系统不会自动均衡Storage数据。

最后更新: November 16, 2021
Back to top