Skip to content

Commit 8320dc1

Browse files
committed
Update based on integration
Change-Id: I3fdacf9356b977d56161711661b453c329105c58
1 parent 451c1c1 commit 8320dc1

File tree

6 files changed

+518
-205
lines changed

6 files changed

+518
-205
lines changed
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
#
2+
# Copyright (C) 2017-2019 Dremio Corporation. This file is confidential and private property.
3+
#
4+
5+
# This file uses kubernetes pod nomenclature: pods, cpu, memory. Values conform to the Kubernetes
6+
# Quantity type:
7+
# https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-units-in-kubernetes
8+
engineOptions:
9+
#
10+
# SIZES
11+
# The number of pods to create for each engine replica, and the total memory to allocate to each
12+
# executor pod in that replica. Note that the memory allocated to each executor container, may
13+
# be lower depending on the podReservations setting.
14+
sizes:
15+
- name: 2XSmall
16+
pods: 1
17+
memory: 64Gi
18+
- name: XSmall
19+
pods: 1
20+
memory: 128Gi
21+
- name: Small
22+
pods: 2
23+
memory: 128Gi
24+
#
25+
# TARGET CPU CAPACITIES
26+
# The total number to CPUs to allocate to each executor pod. Note that the number of CPUs
27+
# allocated to the executor container may be lower depending on the resourceAllocationOffsets setting.
28+
targetCpuCapacities:
29+
- name: 16C
30+
cpu: 16
31+
- name: 32C
32+
cpu: 32
33+
#
34+
# RESOURCE ALLOCATION OFFSETS
35+
# The amount of CPU/Memory to reserve on each pod for containers other than that of the executor.
36+
# Use action "reserve" to reserve pod resources for other containers (substractive), or "over-commit"
37+
# to over-commit pod resources to the executor container (additive). Keys are arbitrary, used only to
38+
# identify a default offset value.
39+
resourceAllocationOffsets:
40+
offsets:
41+
- name: reserve-0-0
42+
cpu: 0
43+
memory: 0Gi
44+
action: reserve
45+
- name: reserve-2-4
46+
cpu: 2
47+
memory: 4Gi
48+
action: reserve
49+
- name: reserve-2-8
50+
cpu: 2
51+
memory: 8Gi
52+
action: reserve
53+
- name: reserve-2-16
54+
cpu: 2
55+
memory: 16Gi
56+
action: reserve
57+
defaultOffset: reserve-2-4
58+
#
59+
# EXECUTOR POD STORAGE OPTIONS
60+
storage:
61+
spillStorageSizes:
62+
- name: 100GB
63+
storage: 100Gi
64+
- name: 250GB
65+
storage: 250Gi
66+
- name: 500GB
67+
storage: 500Gi
68+
defaultSpillStorageSize: 100GB
69+
c3StorageSizes:
70+
- name: 100GB
71+
storage: 100Gi
72+
- name: 250GB
73+
storage: 250Gi
74+
- name: 500GB
75+
storage: 500Gi
76+
defaultC3StorageSize: 100GB
77+
#
78+
# IDLE TIMEOUTS
79+
# Periods are expressed in the ISO8601 duration format: https://en.wikipedia.org/wiki/ISO_8601#Durations.
80+
idleTimeouts:
81+
durations:
82+
- PT2H
83+
- PT1H30M
84+
- PT1H
85+
- PT30M
86+
- PT15M
87+
- PT10M
88+
- PT5M
89+
defaultDuration: PT2H
90+
#
91+
# JAVA OPTS
92+
# Safe and curated Java options that can be applied to executor JVMs.
93+
javaOpts:
94+
- name: "UseGCLogFileRotation"
95+
pattern: "-XX:+UseGCLogFileRotation"
96+
applyByDefault: true
97+
- name: "NumberOfGCLogFiles"
98+
pattern: "-XX:NumberOfGCLogFiles=%s"
99+
defaultValue: "5"
100+
valueMatcher: "^[1-9][0-9]*$"
101+
applyByDefault: true
102+
- name: "GCLogFileSize"
103+
pattern: "-XX:GCLogFileSize=%s"
104+
defaultValue: "4000k"
105+
valueMatcher: "^[1-9][0-9]*[kKmMgG]$"
106+
applyByDefault: true
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
#
2+
# Copyright (C) 2017-2019 Dremio Corporation. This file is confidential and private property.
3+
#
4+
#
5+
# NOTE: This is NOT a concrete StatefulSet. It is a ConfigMap that contains a base StatefulSet that is used as a
6+
# template for replica executors.
7+
#
8+
# Based on: https://github.com/dremio/dremio-cloud-tools/blob/master/charts/dremio_v2/templates/dremio-executor.yaml
9+
#
10+
apiVersion: apps/v1
11+
kind: StatefulSet
12+
metadata:
13+
name: template-dremio-executor
14+
spec:
15+
serviceName: "dremio-cluster-pod"
16+
replicas: 0
17+
podManagementPolicy: "Parallel"
18+
revisionHistoryLimit: 1
19+
selector:
20+
matchLabels:
21+
app: dremio-executor
22+
template:
23+
metadata:
24+
labels:
25+
role: dremio-cluster-pod
26+
diagnostics-collector-role: dremio-executor
27+
annotations:
28+
dremio-configmap/checksum: 0
29+
spec:
30+
terminationGracePeriodSeconds: 720
31+
securityContext:
32+
fsGroup: 999
33+
fsGroupChangePolicy: OnRootMismatch
34+
containers:
35+
- name: dremio-executor
36+
securityContext:
37+
allowPrivilegeEscalation: false
38+
capabilities:
39+
drop:
40+
- ALL
41+
privileged: false
42+
readOnlyRootFilesystem: false
43+
runAsGroup: 999
44+
runAsNonRoot: true
45+
runAsUser: 999
46+
seccompProfile:
47+
type: RuntimeDefault
48+
image: dremio/dremio-oss:latqest
49+
imagePullPolicy: IfNotPresent
50+
resources:
51+
requests:
52+
cpu: 0
53+
memory: "0Gi"
54+
volumeMounts:
55+
- name: dremio-config
56+
mountPath: /opt/dremio/conf
57+
- name: dremio-hive2-config
58+
mountPath: /opt/dremio/plugins/connectors/hive2.d
59+
- name: dremio-hive2-config
60+
mountPath: /opt/dremio/plugins/connectors/hive2-ee.d
61+
- name: dremio-hive3-config
62+
mountPath: /opt/dremio/plugins/connectors/hive3.d
63+
- name: dremio-hive3-config
64+
mountPath: /opt/dremio/plugins/connectors/hive3-ee.d
65+
- name: dremio-default-executor-volume
66+
mountPath: /opt/dremio/data
67+
- name: dremio-default-executor-c3-0
68+
mountPath: /opt/dremio/cloudcache/c0
69+
env:
70+
- name: DREMIO_MAX_HEAP_MEMORY_SIZE_MB
71+
value: "0"
72+
- name: DREMIO_MAX_DIRECT_MEMORY_SIZE_MB
73+
value: "0"
74+
- name: DREMIO_JAVA_SERVER_EXTRA_OPTS
75+
value: >-
76+
-XX:+UseG1GC
77+
-XX:+AlwaysPreTouch
78+
-Xms8g
79+
-Xmx8g
80+
-XX:HeapDumpPath=/opt/dremio/data
81+
-XX:ErrorFile=/opt/dremio/data/hs_err_pid%p.log
82+
-XX:MaxGCPauseMillis=500
83+
-XX:InitiatingHeapOccupancyPercent=25
84+
-XX:G1HeapRegionSize=32M
85+
-XX:+PrintGCDetails
86+
-XX:+PrintGCTimeStamps
87+
-XX:+PrintGCDateStamps
88+
-XX:+PrintAdaptiveSizePolicy
89+
-XX:+PrintClassHistogramBeforeFullGC
90+
-XX:+PrintClassHistogramAfterFullGC
91+
-XX:+PrintReferenceGC
92+
-Dzookeeper=zk-hs:2181
93+
-Dservices.coordinator.enabled=false
94+
-Dservices.coordinator.master.enabled=false
95+
-Dservices.coordinator.master.embedded-zookeeper.enabled=false
96+
-Dservices.executor.enabled=true
97+
-Dservices.conduit.port=45679
98+
- name: AWS_CREDENTIAL_PROFILES_FILE
99+
value: "/opt/dremio/aws/credentials"
100+
- name: AWS_SHARED_CREDENTIALS_FILE
101+
value: "/opt/dremio/aws/credentials"
102+
- name: DREMIO_LOG_TO_CONSOLE
103+
value: "1"
104+
command: [ "/opt/dremio/bin/dremio" ]
105+
args: [ "start-fg" ]
106+
ports:
107+
- containerPort: 45678
108+
name: server-fabric
109+
- containerPort: 45679
110+
name: server-conduit
111+
initContainers:
112+
- name: wait-for-zookeeper
113+
securityContext:
114+
allowPrivilegeEscalation: false
115+
capabilities:
116+
drop:
117+
- ALL
118+
privileged: false
119+
readOnlyRootFilesystem: false
120+
runAsGroup: 999
121+
runAsNonRoot: true
122+
runAsUser: 999
123+
seccompProfile:
124+
type: RuntimeDefault
125+
image: busybox
126+
command: [ "sh", "-c", "until nc zk-hs 2181 -w1 > /dev/null; do echo Waiting for Zookeeper to be ready.; sleep 2; done;" ]
127+
volumes:
128+
- name: dremio-config
129+
configMap:
130+
name: dremio-config
131+
- name: dremio-hive2-config
132+
configMap:
133+
name: dremio-hive2-config
134+
- name: dremio-hive3-config
135+
configMap:
136+
name: dremio-hive3-config
137+
volumeClaimTemplates:
138+
- metadata:
139+
name: dremio-default-executor-volume
140+
spec:
141+
accessModes: [ "ReadWriteOnce" ]
142+
resources:
143+
requests:
144+
storage: 128Gi
145+
- metadata:
146+
name: dremio-default-executor-c3-0
147+
spec:
148+
accessModes: [ "ReadWriteOnce" ]
149+
resources:
150+
requests:
151+
storage: 100Gi

0 commit comments

Comments
 (0)