新增雄安空能院项目
This commit is contained in:
26
66-202505-浙江二级监管/doris-部署/0-节点lable.sh
Normal file
26
66-202505-浙江二级监管/doris-部署/0-节点lable.sh
Normal file
@@ -0,0 +1,26 @@
|
||||
|
||||
|
||||
|
||||
kubectl label nodes 192.168.10.17 192.168.10.18 192.168.10.19 doris-be-node=true
|
||||
|
||||
|
||||
# 2. 在每台节点创建存储目录
|
||||
for node in 192.168.10.17 192.168.10.18 192.168.10.19; do
|
||||
ssh -p 2202 root@"$node" "sudo mkdir -p /data/doris-be/storage && sudo chmod 777 /data/doris-be"
|
||||
ssh -p 2202 root@"$node" "ls /data/doris-be/"
|
||||
done
|
||||
|
||||
kubectl label nodes 192.168.10.16 doris-fe-node=true
|
||||
for node in 192.168.10.16; do
|
||||
ssh -p 2202 root@"$node" "sudo mkdir -p /data/doris-fe/storage && sudo chmod 777 /data/doris-fe"
|
||||
ssh -p 2202 root@"$node" "ls /data/dorisfe/"
|
||||
done
|
||||
|
||||
# uas的业务 保证防重复部署 只能在这几台
|
||||
kubectl label nodes 192.168.10.20 192.168.10.21 192.168.10.22 192.168.10.23 uavcloud.env=zjejpt-uas
|
||||
|
||||
# rabbitmq需要固定到特定的节点
|
||||
|
||||
kubectl label nodes 192.168.10.8 rabbitmq.node=master
|
||||
kubectl label nodes 192.168.10.8 emqx.node=master
|
||||
kubectl label nodes 192.168.10.9 redis.node=master
|
||||
102
66-202505-浙江二级监管/doris-部署/doris-all-service.yaml
Normal file
102
66-202505-浙江二级监管/doris-部署/doris-all-service.yaml
Normal file
@@ -0,0 +1,102 @@
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
namespace: zjejpt-uas
|
||||
name: doris-cluster-be-internal
|
||||
labels:
|
||||
app.kubernetes.io/component: doris-cluster-be-internal
|
||||
spec:
|
||||
ports:
|
||||
- name: heartbeat-port
|
||||
protocol: TCP
|
||||
port: 9050
|
||||
targetPort: 9050
|
||||
selector:
|
||||
app.kubernetes.io/component: doris-cluster-be
|
||||
clusterIP: None
|
||||
type: ClusterIP
|
||||
---
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: doris-cluster-be-service
|
||||
namespace: zjejpt-uas
|
||||
labels:
|
||||
app.kubernetes.io/component: doris-cluster-be
|
||||
spec:
|
||||
ports:
|
||||
- name: be-port
|
||||
protocol: TCP
|
||||
port: 9060
|
||||
targetPort: 9060
|
||||
nodePort: 32189
|
||||
- name: webserver-port
|
||||
protocol: TCP
|
||||
port: 8040
|
||||
targetPort: 8040
|
||||
nodePort: 31624
|
||||
- name: heartbeat-port
|
||||
protocol: TCP
|
||||
port: 9050
|
||||
targetPort: 9050
|
||||
nodePort: 31625
|
||||
- name: brpc-port
|
||||
protocol: TCP
|
||||
port: 8060
|
||||
targetPort: 8060
|
||||
nodePort: 31627
|
||||
selector:
|
||||
app.kubernetes.io/component: doris-cluster-be
|
||||
type: NodePort
|
||||
---
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: doris-cluster-fe-internal
|
||||
namespace: zjejpt-uas
|
||||
labels:
|
||||
app.kubernetes.io/component: doris-cluster-fe
|
||||
spec:
|
||||
ports:
|
||||
- name: query-port
|
||||
protocol: TCP
|
||||
port: 9030
|
||||
targetPort: 9030
|
||||
selector:
|
||||
app.kubernetes.io/component: doris-cluster-fe
|
||||
clusterIP: None
|
||||
type: ClusterIP
|
||||
---
|
||||
kind: Service
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: doris-cluster-fe-service
|
||||
namespace: zjejpt-uas
|
||||
labels:
|
||||
app.kubernetes.io/component: doris-cluster-fe
|
||||
spec:
|
||||
ports:
|
||||
- name: http-port
|
||||
protocol: TCP
|
||||
port: 8030
|
||||
targetPort: 8030
|
||||
nodePort: 31620
|
||||
- name: rpc-port
|
||||
protocol: TCP
|
||||
port: 9020
|
||||
targetPort: 9020
|
||||
nodePort: 31621
|
||||
- name: query-port
|
||||
protocol: TCP
|
||||
port: 9030
|
||||
targetPort: 9030
|
||||
nodePort: 31622
|
||||
- name: edit-log-port
|
||||
protocol: TCP
|
||||
port: 9010
|
||||
targetPort: 9010
|
||||
nodePort: 31623
|
||||
selector:
|
||||
app.kubernetes.io/component: doris-cluster-fe
|
||||
type: NodePort
|
||||
---
|
||||
82
66-202505-浙江二级监管/doris-部署/doris-be-configmap.yaml
Normal file
82
66-202505-浙江二级监管/doris-部署/doris-be-configmap.yaml
Normal file
@@ -0,0 +1,82 @@
|
||||
kind: ConfigMap
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: doris-cluster-be-conf
|
||||
namespace: zyly
|
||||
labels:
|
||||
app.kubernetes.io/component: be
|
||||
data:
|
||||
be.conf: >
|
||||
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 -Xmx2048m -DlogPath=$LOG_DIR/jni.log -Xloggc:$LOG_DIR/be.gc.log.$CUR_DATE -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=50M -Djavax.security.auth.useSubjectCredsOnly=false -Dsun.security.krb5.debug=true -Dsun.java.command=DorisBE -XX:-CriticalJNINatives"
|
||||
|
||||
# Set your own JAVA_HOME
|
||||
# JAVA_HOME=/path/to/jdk/
|
||||
|
||||
# https://github.com/apache/doris/blob/master/docs/zh-CN/community/developer-guide/debug-tool.md#jemalloc-heap-profile
|
||||
# https://jemalloc.net/jemalloc.3.html jemalloc 内存分配器设置参数
|
||||
JEMALLOC_CONF="percpu_arena:percpu,background_thread:true,metadata_thp:auto,muzzy_decay_ms:15000,dirty_decay_ms:15000,oversize_threshold:0,prof:false,lg_prof_interval:32,lg_prof_sample:19,prof_gdump:false,prof_accum:false,prof_leak:false,prof_final:false"
|
||||
JEMALLOC_PROF_PRFIX=""
|
||||
|
||||
# ports for admin, web, heartbeat service
|
||||
be_port = 9060
|
||||
webserver_port = 8040
|
||||
heartbeat_service_port = 9050
|
||||
brpc_port = 8060
|
||||
arrow_flight_sql_port = -1
|
||||
|
||||
# HTTPS configures
|
||||
enable_https = false
|
||||
# path of certificate in PEM format.
|
||||
#ssl_certificate_path = "$DORIS_HOME/conf/cert.pem"
|
||||
# path of private key in PEM format.
|
||||
#ssl_private_key_path = "$DORIS_HOME/conf/key.pem"
|
||||
|
||||
# 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
|
||||
|
||||
# data root path, separate by ';'
|
||||
# You can specify the storage type for each root path, HDD (cold data) or SSD (hot data)
|
||||
# eg:
|
||||
# storage_root_path = /home/disk1/doris;/home/disk2/doris;/home/disk2/doris
|
||||
# storage_root_path = /home/disk1/doris,medium:SSD;/home/disk2/doris,medium:SSD;/home/disk2/doris,medium:HDD
|
||||
# /home/disk2/doris,medium:HDD(default)
|
||||
#
|
||||
# you also can specify the properties by setting '<property>:<value>', separate by ','
|
||||
# property 'medium' has a higher priority than the extension of path
|
||||
#
|
||||
# Default value is ${DORIS_HOME}/storage, you should create it by hand.
|
||||
# storage_root_path = ${DORIS_HOME}/storage
|
||||
|
||||
# Default dirs to put jdbc drivers,default value is ${DORIS_HOME}/jdbc_drivers
|
||||
# jdbc_drivers_dir = ${DORIS_HOME}/jdbc_drivers
|
||||
|
||||
# Advanced configurations
|
||||
# INFO, WARNING, ERROR, FATAL
|
||||
sys_log_level = INFO
|
||||
# sys_log_roll_mode = SIZE-MB-1024
|
||||
# sys_log_roll_num = 10
|
||||
# sys_log_verbose_modules = *
|
||||
# log_buffer_level = -1
|
||||
|
||||
# aws sdk log level
|
||||
# Off = 0,
|
||||
# Fatal = 1,
|
||||
# Error = 2,
|
||||
# Warn = 3,
|
||||
# Info = 4,
|
||||
# Debug = 5,
|
||||
# Trace = 6
|
||||
# Default to turn off aws sdk log, because aws sdk errors that need to be cared will be output through Doris logs
|
||||
#aws_log_level=0
|
||||
## If you are not running in aws cloud, you can disable EC2 metadata
|
||||
#AWS_EC2_METADATA_DISABLED=false
|
||||
208
66-202505-浙江二级监管/doris-部署/doris-be-statefulset.yaml
Normal file
208
66-202505-浙江二级监管/doris-部署/doris-be-statefulset.yaml
Normal file
@@ -0,0 +1,208 @@
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
metadata:
|
||||
name: doris-cluster-be
|
||||
namespace: zjejpt-uas
|
||||
labels:
|
||||
app.kubernetes.io/component: doris-cluster-be
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: doris-cluster-be
|
||||
template:
|
||||
metadata:
|
||||
name: doris-cluster-be
|
||||
labels:
|
||||
app.kubernetes.io/component: doris-cluster-be
|
||||
spec:
|
||||
imagePullSecrets:
|
||||
- name: harborsecret
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- "192.168.10.17"
|
||||
- "192.168.10.18"
|
||||
- "192.168.10.19"
|
||||
- key: doris-be-node
|
||||
operator: Exists
|
||||
podAntiAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
- labelSelector:
|
||||
matchExpressions:
|
||||
- key: app.kubernetes.io/component
|
||||
operator: In
|
||||
values: [ "doris-cluster-be" ]
|
||||
topologyKey: "kubernetes.io/hostname"
|
||||
volumes:
|
||||
- name: be-local-storage
|
||||
hostPath:
|
||||
path: /data/doris-be/storage
|
||||
type: DirectoryOrCreate
|
||||
- name: podinfo
|
||||
downwardAPI:
|
||||
items:
|
||||
- path: labels
|
||||
fieldRef:
|
||||
apiVersion: v1
|
||||
fieldPath: metadata.labels
|
||||
- path: annotations
|
||||
fieldRef:
|
||||
apiVersion: v1
|
||||
fieldPath: metadata.annotations
|
||||
defaultMode: 420
|
||||
initContainers:
|
||||
- name: pod-ordinal-init
|
||||
image: 192.168.10.3:8033/cmii/alpine:1.0.0
|
||||
command: [ 'sh', '-c' ]
|
||||
args:
|
||||
- |
|
||||
# 获取Pod序号
|
||||
POD_ORDINAL=$(echo ${POD_NAME} | awk -F- '{print $NF}')
|
||||
|
||||
# 通过节点名称匹配序号
|
||||
case ${NODE_NAME} in
|
||||
"192.168.10.17") ORDINAL=0 ;;
|
||||
"192.168.10.18") ORDINAL=1 ;;
|
||||
"192.168.10.19") ORDINAL=2 ;;
|
||||
esac
|
||||
|
||||
# 验证序号匹配
|
||||
if [ "$POD_ORDINAL" != "$ORDINAL" ]; then
|
||||
echo "ERROR: Pod ordinal ${POD_ORDINAL} not match node ${NODE_NAME}"
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
- name: NODE_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: spec.nodeName
|
||||
- name: default-init
|
||||
image: '192.168.10.3:8033/cmii/alpine:1.0.0'
|
||||
command:
|
||||
- /bin/sh
|
||||
args:
|
||||
- '-c'
|
||||
- sysctl -w vm.max_map_count=2000000 && swapoff -a
|
||||
resources:
|
||||
limits:
|
||||
cpu: '2'
|
||||
memory: 2Gi
|
||||
requests:
|
||||
cpu: '1'
|
||||
memory: 1Gi
|
||||
terminationMessagePath: /dev/termination-log
|
||||
terminationMessagePolicy: File
|
||||
imagePullPolicy: IfNotPresent
|
||||
securityContext:
|
||||
privileged: true
|
||||
containers:
|
||||
- name: be
|
||||
image: '192.168.10.3:8033/cmii/doris.be-amd64:2.1.6'
|
||||
command:
|
||||
- /opt/apache-doris/be_entrypoint.sh
|
||||
args:
|
||||
- $(ENV_FE_ADDR)
|
||||
ports:
|
||||
- name: be-port
|
||||
containerPort: 9060
|
||||
protocol: TCP
|
||||
- name: webserver-port
|
||||
containerPort: 8040
|
||||
protocol: TCP
|
||||
- name: heartbeat-port
|
||||
containerPort: 9050
|
||||
protocol: TCP
|
||||
- name: brpc-port
|
||||
containerPort: 8060
|
||||
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'
|
||||
resources:
|
||||
limits:
|
||||
cpu: '16'
|
||||
memory: 32Gi
|
||||
requests:
|
||||
cpu: '8'
|
||||
memory: 32Gi
|
||||
volumeMounts:
|
||||
- name: be-local-storage
|
||||
mountPath: /opt/apache-doris/be/storage
|
||||
- name: be-local-storage
|
||||
mountPath: /opt/apache-doris/be/log
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: 9050
|
||||
initialDelaySeconds: 80
|
||||
timeoutSeconds: 180
|
||||
periodSeconds: 5
|
||||
successThreshold: 1
|
||||
failureThreshold: 3
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /api/health
|
||||
port: 8040
|
||||
scheme: HTTP
|
||||
timeoutSeconds: 1
|
||||
periodSeconds: 5
|
||||
successThreshold: 1
|
||||
failureThreshold: 3
|
||||
startupProbe:
|
||||
tcpSocket:
|
||||
port: 9050
|
||||
timeoutSeconds: 1
|
||||
periodSeconds: 5
|
||||
successThreshold: 1
|
||||
failureThreshold: 60
|
||||
lifecycle:
|
||||
preStop:
|
||||
exec:
|
||||
command:
|
||||
- /opt/apache-doris/be_prestop.sh
|
||||
terminationMessagePath: /dev/termination-log
|
||||
terminationMessagePolicy: File
|
||||
imagePullPolicy: IfNotPresent
|
||||
restartPolicy: Always
|
||||
terminationGracePeriodSeconds: 30
|
||||
dnsPolicy: ClusterFirst
|
||||
securityContext: {}
|
||||
serviceName: doris-cluster-be-internal
|
||||
podManagementPolicy: Parallel
|
||||
@@ -0,0 +1,188 @@
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
metadata:
|
||||
name: doris-cluster-be
|
||||
namespace: zjejpt-uas
|
||||
labels:
|
||||
app.kubernetes.io/component: doris-cluster-be
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: doris-cluster-be
|
||||
template:
|
||||
metadata:
|
||||
name: doris-cluster-be
|
||||
labels:
|
||||
app.kubernetes.io/component: doris-cluster-be
|
||||
spec:
|
||||
imagePullSecrets:
|
||||
- name: harborsecret
|
||||
volumes:
|
||||
- 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-be-conf
|
||||
configMap:
|
||||
name: doris-cluster-be-conf
|
||||
defaultMode: 420
|
||||
initContainers:
|
||||
- name: default-init
|
||||
image: '192.168.10.3:8033/cmii/alpine:1.0.0'
|
||||
command:
|
||||
- /bin/sh
|
||||
args:
|
||||
- '-c'
|
||||
- sysctl -w vm.max_map_count=2000000 && swapoff -a
|
||||
resources:
|
||||
limits:
|
||||
cpu: '2'
|
||||
memory: 2Gi
|
||||
requests:
|
||||
cpu: '1'
|
||||
memory: 1Gi
|
||||
terminationMessagePath: /dev/termination-log
|
||||
terminationMessagePolicy: File
|
||||
imagePullPolicy: IfNotPresent
|
||||
securityContext:
|
||||
privileged: true
|
||||
containers:
|
||||
- name: be
|
||||
image: '192.168.10.3:8033/cmii/doris.be-amd64:2.1.6'
|
||||
command:
|
||||
- /opt/apache-doris/be_entrypoint.sh
|
||||
args:
|
||||
- $(ENV_FE_ADDR)
|
||||
ports:
|
||||
- name: be-port
|
||||
containerPort: 9060
|
||||
protocol: TCP
|
||||
- name: webserver-port
|
||||
containerPort: 8040
|
||||
protocol: TCP
|
||||
- name: heartbeat-port
|
||||
containerPort: 9050
|
||||
protocol: TCP
|
||||
- name: brpc-port
|
||||
containerPort: 8060
|
||||
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'
|
||||
resources:
|
||||
limits:
|
||||
cpu: '16'
|
||||
memory: 32Gi
|
||||
requests:
|
||||
cpu: '8'
|
||||
memory: 32Gi
|
||||
volumeMounts:
|
||||
- name: podinfo
|
||||
mountPath: /etc/podinfo
|
||||
- name: be-storage
|
||||
mountPath: /opt/apache-doris/be/storage
|
||||
- name: be-storage
|
||||
mountPath: /opt/apache-doris/be/log
|
||||
- name: doris-cluster-be-conf
|
||||
mountPath: /etc/doris
|
||||
livenessProbe:
|
||||
tcpSocket:
|
||||
port: 9050
|
||||
initialDelaySeconds: 80
|
||||
timeoutSeconds: 180
|
||||
periodSeconds: 5
|
||||
successThreshold: 1
|
||||
failureThreshold: 3
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /api/health
|
||||
port: 8040
|
||||
scheme: HTTP
|
||||
timeoutSeconds: 1
|
||||
periodSeconds: 5
|
||||
successThreshold: 1
|
||||
failureThreshold: 3
|
||||
startupProbe:
|
||||
tcpSocket:
|
||||
port: 9050
|
||||
timeoutSeconds: 1
|
||||
periodSeconds: 5
|
||||
successThreshold: 1
|
||||
failureThreshold: 60
|
||||
lifecycle:
|
||||
preStop:
|
||||
exec:
|
||||
command:
|
||||
- /opt/apache-doris/be_prestop.sh
|
||||
terminationMessagePath: /dev/termination-log
|
||||
terminationMessagePolicy: File
|
||||
imagePullPolicy: IfNotPresent
|
||||
restartPolicy: Always
|
||||
terminationGracePeriodSeconds: 30
|
||||
dnsPolicy: ClusterFirst
|
||||
securityContext: {}
|
||||
affinity:
|
||||
podAntiAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
- labelSelector:
|
||||
matchExpressions:
|
||||
- key: app.kubernetes.io/component
|
||||
operator: In
|
||||
values: [ "doris-cluster-be" ]
|
||||
topologyKey: "kubernetes.io/hostname"
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: doris-be-node
|
||||
operator: In
|
||||
values: [ "true" ]
|
||||
schedulerName: default-scheduler
|
||||
volumeClaimTemplates:
|
||||
- metadata:
|
||||
name: be-storage
|
||||
spec:
|
||||
accessModes: [ "ReadWriteOnce" ]
|
||||
storageClassName: "local-storage"
|
||||
resources:
|
||||
requests:
|
||||
storage: 1500Gi
|
||||
serviceName: doris-cluster-be-internal
|
||||
podManagementPolicy: Parallel
|
||||
67
66-202505-浙江二级监管/doris-部署/doris-fe-configmap.yaml
Normal file
67
66-202505-浙江二级监管/doris-部署/doris-fe-configmap.yaml
Normal file
@@ -0,0 +1,67 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: doris-cluster-fe-conf
|
||||
namespace: zjejpt-uas
|
||||
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
|
||||
160
66-202505-浙江二级监管/doris-部署/doris-fe-statusfulset.yaml
Normal file
160
66-202505-浙江二级监管/doris-部署/doris-fe-statusfulset.yaml
Normal file
@@ -0,0 +1,160 @@
|
||||
kind: StatefulSet
|
||||
apiVersion: apps/v1
|
||||
metadata:
|
||||
name: doris-cluster-fe
|
||||
namespace: zjejpt-uas
|
||||
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: fe-local-storage
|
||||
hostPath:
|
||||
path: /data/doris-fe/storage
|
||||
type: DirectoryOrCreate
|
||||
- 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: '192.168.10.3:8033/cmii/doris.fe-amd64: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: '16'
|
||||
memory: 32Gi
|
||||
requests:
|
||||
cpu: '8'
|
||||
memory: 32Gi
|
||||
volumeMounts:
|
||||
- name: podinfo
|
||||
mountPath: /etc/podinfo
|
||||
- name: fe-local-storage
|
||||
mountPath: /opt/apache-doris/fe/log
|
||||
- name: fe-local-storage
|
||||
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: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- "192.168.10.16"
|
||||
- key: doris-fe-node
|
||||
operator: Exists
|
||||
schedulerName: default-scheduler
|
||||
serviceName: doris-cluster-fe-internal
|
||||
podManagementPolicy: Parallel
|
||||
79
66-202505-浙江二级监管/doris-部署/doris-local-pv.yaml
Normal file
79
66-202505-浙江二级监管/doris-部署/doris-local-pv.yaml
Normal file
@@ -0,0 +1,79 @@
|
||||
---
|
||||
apiVersion: storage.k8s.io/v1
|
||||
kind: StorageClass
|
||||
metadata:
|
||||
name: local-storage
|
||||
provisioner: kubernetes.io/no-provisioner
|
||||
volumeBindingMode: WaitForFirstConsumer
|
||||
reclaimPolicy: Retain
|
||||
allowedTopologies:
|
||||
- matchLabelExpressions:
|
||||
- key: doris-be-node
|
||||
values: ["true"]
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: doris-be-pv-node1
|
||||
spec:
|
||||
capacity:
|
||||
storage: 1500Gi
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-storage
|
||||
local:
|
||||
path: /data/doris-be/storage
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values: ["192.168.10.17"]
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: doris-be-pv-node2
|
||||
spec:
|
||||
capacity:
|
||||
storage: 1500Gi
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-storage
|
||||
local:
|
||||
path: /data/doris-be/storage
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values: ["192.168.10.18"]
|
||||
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: PersistentVolume
|
||||
metadata:
|
||||
name: doris-be-pv-node3
|
||||
spec:
|
||||
capacity:
|
||||
storage: 1500Gi
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
persistentVolumeReclaimPolicy: Retain
|
||||
storageClassName: local-storage
|
||||
local:
|
||||
path: /data/doris-be/storage
|
||||
nodeAffinity:
|
||||
required:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values: ["192.168.10.19"]
|
||||
|
||||
Reference in New Issue
Block a user