FE 在存算分离模式下主要负责 SQL 解析相关工作,也负责跟元数据管理组件 MS 交互。FE 通常情况下只需部署 2 个服务,replicas 设置为 2 即可。最简单部署模式如下:

  1. spec:
  2. feSpec:
  3. image: {feImage}
  4. replicas: 2

配置好需要使用的 FE 服务镜像,将配置更新到需要[部署的存算分离资源](../install-quickstart#部署 DorisDisaggregatedCluster 资源)中。

配置资源

配置服务的计算资源

为 FE 服务添加计算资源配置,DorisDisaggregatedCluster 复用 K8s 的 requests 和 limits 来配置每个组件的资源使用。以下是使用 4c 4Gi 来配置 FE 服务:

  1. spec:
  2. feSpec:
  3. requests:
  4. cpu: 4
  5. memory: 4Gi
  6. limits:
  7. cpu: 4
  8. memory: 4Gi

上述样例展示如何将 FE 服务的计算资源配置为 4c 4Gi 的模式。配置好 FE 希望使用的资源,将配置信息更新到[需要部署的存算分离资源](../install-quickstart#部署 DorisDisaggregatedCluster 资源)中。

配置服务存储资源

存算分离集群 FE 服务是有状态服务,在 K8s 部署模式下需要挂载相应的磁盘来存储 FE 服务需要持久化的存储信息。

以下为 FE 配置使用默认 StorageClass 来提供存储服务的使用样例:

  1. spec:
  2. feSpec:
  3. persistentVolume:
  4. persistentVolumeClaimSpec:
  5. #storageClassName:{storageClassName}
  6. accessModes:
  7. - ReadWriteOnce
  8. resources:
  9. requests:
  10. storage: 200Gi

上述样例展示了如何为 FE 服务添加 200Gi 的存储。{storageClassName} 为需要使用的 StorageClass 的名称,如果不填写将使用集群默认的 StorageClass 。按上述模式配置好 FE 服务需要使用的存储信息后,将配置更新到[需要部署的存算分离资源](../install-quickstart#部署 DorisDisaggregatedCluster 资源)中。

定制化配置文件

在 K8s 部署中可使用 ConfigMap 为 FE 服务挂载定制化的配置来启动 FE 服务。假定使用如下配置启动 FE 服务:

  1. apiVersion: v1
  2. kind: ConfigMap
  3. metadata:
  4. name: fe-configmap
  5. namespace: default
  6. labels:
  7. app.kubernetes.io/component: fe
  8. data:
  9. fe.conf: |
  10. CUR_DATE=`date +%Y%m%d-%H%M%S`
  11. # Log dir
  12. LOG_DIR = ${DORIS_HOME}/log
  13. # For jdk 17, this JAVA_OPTS will be used as default JVM options
  14. JAVA_OPTS_FOR_JDK_17="-Djavax.security.auth.useSubjectCredsOnly=false -Xmx8192m -Xms8192m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOG_DIR -Xlog:gc*:$LOG_DIR/fe.gc.log.$CUR_DATE:time,uptime:filecount=10,filesize=50M --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens java.base/jdk.internal.ref=ALL-UNNAMED"
  15. # INFO, WARN, ERROR, FATAL
  16. sys_log_level = INFO
  17. # NORMAL, BRIEF, ASYNC
  18. sys_log_mode = NORMAL
  19. # Default dirs to put jdbc drivers,default value is ${DORIS_HOME}/jdbc_drivers
  20. # jdbc_drivers_dir = ${DORIS_HOME}/jdbc_drivers
  21. http_port = 8030
  22. rpc_port = 9020
  23. query_port = 9030
  24. edit_log_port = 9010
  25. enable_fqdn_mode=true

在 K8s 部署中,必须设定 enable_fqdn_mode=true ,FE 使用上述 ConfigMap 的 DorisDisaggregatedCluster 资源样例:

  1. spec:
  2. feSpec:
  3. replicas: 2
  4. configMaps:
  5. - name: fe-configmap

DorisDisaggregatedCluster 资源中,配置挂载 ConfigMap 的 configMaps 是一个数组。每一个元素的 name 表示当前命名空间的 ConfigMap 名称。

按上述模式配置好 FE 服务需要使用的 ConfigMap 信息,将配置更新到[需要部署的存算分离资源](../install-quickstart#部署 DorisDisaggregatedCluster 资源)中。

配置 FE 部署 - 图1提示

K8s 部署中,使用 ConfigMap 挂载定制化配置文件时,无需添加 meta_service_endpoint 以及 cloud_unique_id 配置,Doris-Operator 相关服务会自动添加。