266 lines
8.4 KiB
YAML
266 lines
8.4 KiB
YAML
kind: StatefulSet
|
||
apiVersion: apps/v1
|
||
metadata:
|
||
name: doris-cluster-fe
|
||
namespace: 命名空间
|
||
labels:
|
||
app.kubernetes.io/component: doris-cluster-fe
|
||
spec:
|
||
replicas: 1
|
||
selector:
|
||
matchLabels:
|
||
app.kubernetes.io/component: doris-cluster-fe
|
||
template:
|
||
metadata:
|
||
name: doris-cluster-fe
|
||
labels:
|
||
app.kubernetes.io/component: doris-cluster-fe
|
||
spec:
|
||
imagePullSecrets:
|
||
- name: harborsecret
|
||
volumes:
|
||
- name: meta
|
||
persistentVolumeClaim:
|
||
# claimName: meta
|
||
claimName: doris-fe-meta-pvc
|
||
- name: log
|
||
persistentVolumeClaim:
|
||
# claimName: meta
|
||
claimName: doris-fe-log-pvc
|
||
- name: podinfo
|
||
downwardAPI:
|
||
items:
|
||
- path: labels
|
||
fieldRef:
|
||
apiVersion: v1
|
||
fieldPath: metadata.labels
|
||
- path: annotations
|
||
fieldRef:
|
||
apiVersion: v1
|
||
fieldPath: metadata.annotations
|
||
defaultMode: 420
|
||
- name: doris-cluster-fe-conf
|
||
configMap:
|
||
name: doris-cluster-fe-conf
|
||
defaultMode: 420
|
||
containers:
|
||
- name: doris-cluster-fe
|
||
image: '镜像仓库/cmii/doris.fe-ubuntu:2.1.6'
|
||
command:
|
||
- /opt/apache-doris/fe_entrypoint.sh
|
||
args:
|
||
- $(ENV_FE_ADDR)
|
||
ports:
|
||
- name: http-port
|
||
containerPort: 8030
|
||
protocol: TCP
|
||
- name: rpc-port
|
||
containerPort: 9020
|
||
protocol: TCP
|
||
- name: query-port
|
||
containerPort: 9030
|
||
protocol: TCP
|
||
- name: edit-log-port
|
||
containerPort: 9010
|
||
protocol: TCP
|
||
env:
|
||
- name: POD_NAME
|
||
valueFrom:
|
||
fieldRef:
|
||
apiVersion: v1
|
||
fieldPath: metadata.name
|
||
- name: POD_IP
|
||
valueFrom:
|
||
fieldRef:
|
||
apiVersion: v1
|
||
fieldPath: status.podIP
|
||
- name: HOST_IP
|
||
valueFrom:
|
||
fieldRef:
|
||
apiVersion: v1
|
||
fieldPath: status.hostIP
|
||
- name: POD_NAMESPACE
|
||
valueFrom:
|
||
fieldRef:
|
||
apiVersion: v1
|
||
fieldPath: metadata.namespace
|
||
- name: CONFIGMAP_MOUNT_PATH
|
||
value: /etc/doris
|
||
- name: USER
|
||
value: root
|
||
- name: DORIS_ROOT
|
||
value: /opt/apache-doris
|
||
- name: ENV_FE_ADDR
|
||
value: doris-cluster-fe-service
|
||
- name: FE_QUERY_PORT
|
||
value: '9030'
|
||
- name: ELECT_NUMBER
|
||
value: '3'
|
||
resources:
|
||
limits:
|
||
cpu: '4'
|
||
memory: 8Gi
|
||
requests:
|
||
cpu: '2'
|
||
memory: 4Gi
|
||
volumeMounts:
|
||
- name: podinfo
|
||
mountPath: /etc/podinfo
|
||
- name: log
|
||
mountPath: /opt/apache-doris/fe/log
|
||
- name: meta
|
||
mountPath: /opt/apache-doris/fe/doris-meta
|
||
- name: doris-cluster-fe-conf
|
||
mountPath: /etc/doris
|
||
livenessProbe:
|
||
tcpSocket:
|
||
port: 9030
|
||
initialDelaySeconds: 80
|
||
timeoutSeconds: 180
|
||
periodSeconds: 5
|
||
successThreshold: 1
|
||
failureThreshold: 3
|
||
readinessProbe:
|
||
httpGet:
|
||
path: /api/health
|
||
port: 8030
|
||
scheme: HTTP
|
||
timeoutSeconds: 1
|
||
periodSeconds: 5
|
||
successThreshold: 1
|
||
failureThreshold: 3
|
||
startupProbe:
|
||
tcpSocket:
|
||
port: 9030
|
||
timeoutSeconds: 1
|
||
periodSeconds: 5
|
||
successThreshold: 1
|
||
failureThreshold: 60
|
||
lifecycle:
|
||
preStop:
|
||
exec:
|
||
command:
|
||
- /opt/apache-doris/fe_prestop.sh
|
||
terminationMessagePath: /dev/termination-log
|
||
terminationMessagePolicy: File
|
||
imagePullPolicy: IfNotPresent
|
||
restartPolicy: Always
|
||
terminationGracePeriodSeconds: 30
|
||
dnsPolicy: ClusterFirst
|
||
securityContext: {}
|
||
affinity:
|
||
nodeAffinity:
|
||
requiredDuringSchedulingIgnoredDuringExecution:
|
||
nodeSelectorTerms:
|
||
- matchExpressions:
|
||
- key: doris.cluster
|
||
operator: In
|
||
values:
|
||
- "true"
|
||
podAntiAffinity:
|
||
preferredDuringSchedulingIgnoredDuringExecution:
|
||
- weight: 100
|
||
podAffinityTerm:
|
||
labelSelector:
|
||
matchExpressions:
|
||
- key: app.kubernetes.io/component
|
||
operator: In
|
||
values:
|
||
- doris-cluster-fe
|
||
topologyKey: kubernetes.io/hostname
|
||
schedulerName: default-scheduler
|
||
# volumeClaimTemplates:
|
||
# - kind: PersistentVolumeClaim
|
||
# apiVersion: v1
|
||
# metadata:
|
||
# name: meta
|
||
# spec:
|
||
# accessModes:
|
||
# - ReadWriteOnce
|
||
# resources:
|
||
# requests:
|
||
# storage: 10G
|
||
# storageClassName: hcms-efs-class
|
||
# volumeMode: Filesystem
|
||
# - kind: PersistentVolumeClaim
|
||
# apiVersion: v1
|
||
# metadata:
|
||
# name: log
|
||
# spec:
|
||
# accessModes:
|
||
# - ReadWriteOnce
|
||
# resources:
|
||
# requests:
|
||
# storage: '10'
|
||
# storageClassName: hcms-efs-class
|
||
# volumeMode: Filesystem
|
||
serviceName: doris-cluster-fe-internal
|
||
podManagementPolicy: Parallel
|
||
---
|
||
apiVersion: v1
|
||
kind: ConfigMap
|
||
metadata:
|
||
name: doris-cluster-fe-conf
|
||
namespace: 命名空间
|
||
labels:
|
||
app.kubernetes.io/component: fe
|
||
data:
|
||
fe.conf: |
|
||
#####################################################################
|
||
## The uppercase properties are read and exported by bin/start_fe.sh.
|
||
## To see all Frontend configurations,
|
||
## see fe/src/org/apache/doris/common/Config.java
|
||
#####################################################################
|
||
|
||
CUR_DATE=`date +%Y%m%d-%H%M%S`
|
||
|
||
# Log dir
|
||
LOG_DIR = ${DORIS_HOME}/log
|
||
|
||
# For jdk 8
|
||
JAVA_OPTS="-Dfile.encoding=UTF-8 -Djavax.security.auth.useSubjectCredsOnly=false -Xss4m -Xmx8192m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:$LOG_DIR/log/fe.gc.log.$CUR_DATE -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=50M -Dlog4j2.formatMsgNoLookups=true"
|
||
|
||
# Set your own JAVA_HOME
|
||
# JAVA_HOME=/path/to/jdk/
|
||
|
||
##
|
||
## the lowercase properties are read by main program.
|
||
##
|
||
|
||
# store metadata, must be created before start FE.
|
||
# Default value is ${DORIS_HOME}/doris-meta
|
||
# meta_dir = ${DORIS_HOME}/doris-meta
|
||
|
||
# Default dirs to put jdbc drivers,default value is ${DORIS_HOME}/jdbc_drivers
|
||
# jdbc_drivers_dir = ${DORIS_HOME}/jdbc_drivers
|
||
|
||
http_port = 8030
|
||
rpc_port = 9020
|
||
query_port = 9030
|
||
edit_log_port = 9010
|
||
arrow_flight_sql_port = -1
|
||
|
||
# Choose one if there are more than one ip except loopback address.
|
||
# Note that there should at most one ip match this list.
|
||
# If no ip match this rule, will choose one randomly.
|
||
# use CIDR format, e.g. 10.10.10.0/24 or IP format, e.g. 10.10.10.1
|
||
# Default value is empty.
|
||
# priority_networks = 10.10.10.0/24;192.168.0.0/16
|
||
|
||
# Advanced configurations
|
||
# log_roll_size_mb = 1024
|
||
# INFO, WARN, ERROR, FATAL
|
||
sys_log_level = INFO
|
||
# NORMAL, BRIEF, ASYNC,FE 日志的输出模式,其中 NORMAL 为默认的输出模式,日志同步输出且包含位置信息。ASYNC 默认是日志异步输出且包含位置信息。 BRIEF 模式是日志异步输出但不包含位置信息。三种日志输出模式的性能依次递增
|
||
sys_log_mode = ASYNC
|
||
# sys_log_roll_num = 10
|
||
# sys_log_verbose_modules = org.apache.doris
|
||
# audit_log_dir = $LOG_DIR
|
||
# audit_log_modules = slow_query, query
|
||
# audit_log_roll_num = 10
|
||
# meta_delay_toleration_second = 10
|
||
# qe_max_connection = 1024
|
||
# qe_query_timeout_second = 300
|
||
# qe_slow_log_ms = 5000
|
||
#Fully Qualified Domain Name,完全限定域名,开启后各节点之间通信基于FQDN
|
||
enable_fqdn_mode = true |