You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by GitBox <gi...@apache.org> on 2021/11/29 17:18:32 UTC
[GitHub] [druid] alborotogarcia commented on issue #11992: Misconfigured coordinator service in helm chart
alborotogarcia commented on issue #11992:
URL: https://github.com/apache/druid/issues/11992#issuecomment-981844429
Thanks for your kind reply @asdf2014 !
As I said I use an external postgres cluster, and try to avoid bitnami images as they only run on amd64 atm
Please don't hesitate to ask for any additional information I can provide.
```
---
# Source: druid/charts/zookeeper/templates/poddisruptionbudget.yaml
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
name: druid-zookeeper
labels:
app: zookeeper
chart: zookeeper-2.1.4
release: druid
heritage: Helm
component: server
spec:
selector:
matchLabels:
app: zookeeper
release: druid
component: server
maxUnavailable: 1
---
# Source: druid/charts/zookeeper/templates/config-script.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: druid-zookeeper
labels:
app: zookeeper
chart: zookeeper-2.1.4
release: druid
heritage: Helm
component: server
data:
ok: |
#!/bin/sh
zkServer.sh status
ready: |
#!/bin/sh
echo ruok | nc 127.0.0.1 ${1:-2181}
run: |
#!/bin/bash
set -a
ROOT=$(echo /apache-zookeeper-*)
ZK_USER=${ZK_USER:-"zookeeper"}
ZK_LOG_LEVEL=${ZK_LOG_LEVEL:-"INFO"}
ZK_DATA_DIR=${ZK_DATA_DIR:-"/data"}
ZK_DATA_LOG_DIR=${ZK_DATA_LOG_DIR:-"/data/log"}
ZK_CONF_DIR=${ZK_CONF_DIR:-"/conf"}
ZK_CLIENT_PORT=${ZK_CLIENT_PORT:-2181}
ZK_SERVER_PORT=${ZK_SERVER_PORT:-2888}
ZK_ELECTION_PORT=${ZK_ELECTION_PORT:-3888}
ZK_TICK_TIME=${ZK_TICK_TIME:-2000}
ZK_INIT_LIMIT=${ZK_INIT_LIMIT:-10}
ZK_SYNC_LIMIT=${ZK_SYNC_LIMIT:-5}
ZK_HEAP_SIZE=${ZK_HEAP_SIZE:-2G}
ZK_MAX_CLIENT_CNXNS=${ZK_MAX_CLIENT_CNXNS:-60}
ZK_MIN_SESSION_TIMEOUT=${ZK_MIN_SESSION_TIMEOUT:- $((ZK_TICK_TIME*2))}
ZK_MAX_SESSION_TIMEOUT=${ZK_MAX_SESSION_TIMEOUT:- $((ZK_TICK_TIME*20))}
ZK_SNAP_RETAIN_COUNT=${ZK_SNAP_RETAIN_COUNT:-3}
ZK_PURGE_INTERVAL=${ZK_PURGE_INTERVAL:-0}
ID_FILE="$ZK_DATA_DIR/myid"
ZK_CONFIG_FILE="$ZK_CONF_DIR/zoo.cfg"
LOG4J_PROPERTIES="$ZK_CONF_DIR/log4j.properties"
HOST=$(hostname)
DOMAIN=`hostname -d`
JVMFLAGS="-Xmx$ZK_HEAP_SIZE -Xms$ZK_HEAP_SIZE"
APPJAR=$(echo $ROOT/*jar)
CLASSPATH="${ROOT}/lib/*:${APPJAR}:${ZK_CONF_DIR}:"
if [[ $HOST =~ (.*)-([0-9]+)$ ]]; then
NAME=${BASH_REMATCH[1]}
ORD=${BASH_REMATCH[2]}
MY_ID=$((ORD+1))
else
echo "Failed to extract ordinal from hostname $HOST"
exit 1
fi
mkdir -p $ZK_DATA_DIR
mkdir -p $ZK_DATA_LOG_DIR
echo $MY_ID >> $ID_FILE
echo "clientPort=$ZK_CLIENT_PORT" >> $ZK_CONFIG_FILE
echo "dataDir=$ZK_DATA_DIR" >> $ZK_CONFIG_FILE
echo "dataLogDir=$ZK_DATA_LOG_DIR" >> $ZK_CONFIG_FILE
echo "tickTime=$ZK_TICK_TIME" >> $ZK_CONFIG_FILE
echo "initLimit=$ZK_INIT_LIMIT" >> $ZK_CONFIG_FILE
echo "syncLimit=$ZK_SYNC_LIMIT" >> $ZK_CONFIG_FILE
echo "maxClientCnxns=$ZK_MAX_CLIENT_CNXNS" >> $ZK_CONFIG_FILE
echo "minSessionTimeout=$ZK_MIN_SESSION_TIMEOUT" >> $ZK_CONFIG_FILE
echo "maxSessionTimeout=$ZK_MAX_SESSION_TIMEOUT" >> $ZK_CONFIG_FILE
echo "autopurge.snapRetainCount=$ZK_SNAP_RETAIN_COUNT" >> $ZK_CONFIG_FILE
echo "autopurge.purgeInterval=$ZK_PURGE_INTERVAL" >> $ZK_CONFIG_FILE
echo "4lw.commands.whitelist=*" >> $ZK_CONFIG_FILE
for (( i=1; i<=$ZK_REPLICAS; i++ ))
do
echo "server.$i=$NAME-$((i-1)).$DOMAIN:$ZK_SERVER_PORT:$ZK_ELECTION_PORT" >> $ZK_CONFIG_FILE
done
rm -f $LOG4J_PROPERTIES
echo "zookeeper.root.logger=$ZK_LOG_LEVEL, CONSOLE" >> $LOG4J_PROPERTIES
echo "zookeeper.console.threshold=$ZK_LOG_LEVEL" >> $LOG4J_PROPERTIES
echo "zookeeper.log.threshold=$ZK_LOG_LEVEL" >> $LOG4J_PROPERTIES
echo "zookeeper.log.dir=$ZK_DATA_LOG_DIR" >> $LOG4J_PROPERTIES
echo "zookeeper.log.file=zookeeper.log" >> $LOG4J_PROPERTIES
echo "zookeeper.log.maxfilesize=256MB" >> $LOG4J_PROPERTIES
echo "zookeeper.log.maxbackupindex=10" >> $LOG4J_PROPERTIES
echo "zookeeper.tracelog.dir=$ZK_DATA_LOG_DIR" >> $LOG4J_PROPERTIES
echo "zookeeper.tracelog.file=zookeeper_trace.log" >> $LOG4J_PROPERTIES
echo "log4j.rootLogger=\${zookeeper.root.logger}" >> $LOG4J_PROPERTIES
echo "log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender" >> $LOG4J_PROPERTIES
echo "log4j.appender.CONSOLE.Threshold=\${zookeeper.console.threshold}" >> $LOG4J_PROPERTIES
echo "log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout" >> $LOG4J_PROPERTIES
echo "log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n" >> $LOG4J_PROPERTIES
if [ -n "$JMXDISABLE" ]
then
MAIN=org.apache.zookeeper.server.quorum.QuorumPeerMain
else
MAIN="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=$JMXPORT -Dcom.sun.management.jmxremote.authenticate=$JMXAUTH -Dcom.sun.management.jmxremote.ssl=$JMXSSL -Dzookeeper.jmx.log4j.disable=$JMXLOG4J org.apache.zookeeper.server.quorum.QuorumPeerMain"
fi
set -x
exec java -cp "$CLASSPATH" $JVMFLAGS $MAIN $ZK_CONFIG_FILE
---
# Source: druid/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: druid
labels:
app: druid
chart: druid-0.3.0
release: druid
heritage: Helm
data:
DRUID_USE_CONTAINER_IP: "true"
druid_emitter: noop
druid_emitter_http_recipientBaseUrl: http://druid_exporter_url:druid_exporter_port/druid
druid_emitter_logging_logLevel: debug
druid_extensions_loadList: '["druid-histogram", "druid-datasketches", "druid-lookups-cached-global",
"postgresql-metadata-storage"]'
druid_indexer_logs_directory: /opt/data/indexing-logs
druid_indexer_logs_type: file
druid_metadata_storage_connector_connectURI: jdbc:postgresql://acid-minimal-cluster.storage:5432/druid
druid_metadata_storage_connector_password: druid
druid_metadata_storage_connector_user: druid
druid_metadata_storage_type: postgresql
druid_storage_type: local
druid_zk_service_host: druid-zookeeper-headless:2181
druid_metadata_storage_type: postgresql
druid.selectors.coordinator.serviceName: druid-coordinator
druid.selectors.indexing.serviceName: druid-overlord
---
# Source: druid/charts/zookeeper/templates/service-headless.yaml
apiVersion: v1
kind: Service
metadata:
name: druid-zookeeper-headless
labels:
app: zookeeper
chart: zookeeper-2.1.4
release: druid
heritage: Helm
spec:
clusterIP: None
publishNotReadyAddresses: true
ports:
- name: client
port: 2181
targetPort: client
protocol: TCP
- name: election
port: 3888
targetPort: election
protocol: TCP
- name: server
port: 2888
targetPort: server
protocol: TCP
selector:
app: zookeeper
release: druid
---
# Source: druid/charts/zookeeper/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: druid-zookeeper
labels:
app: zookeeper
chart: zookeeper-2.1.4
release: druid
heritage: Helm
spec:
type: ClusterIP
ports:
- name: client
port: 2181
protocol: TCP
targetPort: client
selector:
app: zookeeper
release: druid
---
# Source: druid/templates/broker/service.yaml
apiVersion: v1
kind: Service
metadata:
name: druid-broker
labels:
app: druid
chart: druid-0.3.0
component: broker
release: druid
heritage: Helm
spec:
type: ClusterIP
ports:
- port: 8082
targetPort: http
protocol: TCP
name: http
selector:
app: druid
release: druid
component: broker
---
# Source: druid/templates/coordinator/service.yaml
apiVersion: v1
kind: Service
metadata:
name: druid-coordinator
labels:
app: druid
chart: druid-0.3.0
component: coordinator
release: druid
heritage: Helm
spec:
type: ClusterIP
ports:
- port: 8081
targetPort: http
protocol: TCP
name: http
selector:
app: druid
release: druid
component: coordinator
---
# Source: druid/templates/historical/service.yaml
apiVersion: v1
kind: Service
metadata:
name: druid-historical
labels:
app: druid
chart: druid-0.3.0
component: historical
release: druid
heritage: Helm
spec:
type: ClusterIP
ports:
- port: 8083
targetPort: http
protocol: TCP
name: http
selector:
app: druid
release: druid
component: historical
---
# Source: druid/templates/middleManager/service.yaml
apiVersion: v1
kind: Service
metadata:
name: druid-middle-manager
labels:
app: druid
chart: druid-0.3.0
component: middle-manager
release: druid
heritage: Helm
spec:
type: ClusterIP
ports:
- port: 8091
targetPort: http
protocol: TCP
name: http
selector:
app: druid
release: druid
component: middle-manager
---
# Source: druid/templates/router/service.yaml
apiVersion: v1
kind: Service
metadata:
name: druid-router
labels:
app: druid
chart: druid-0.3.0
component: router
release: druid
heritage: Helm
spec:
type: ClusterIP
ports:
- port: 8888
targetPort: http
protocol: TCP
name: http
selector:
app: druid
release: druid
component: router
---
# Source: druid/templates/broker/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: druid-broker
labels:
app: druid
chart: druid-0.3.0
component: broker
release: druid
heritage: Helm
spec:
replicas: 1
selector:
matchLabels:
app: druid
release: druid
component: broker
template:
metadata:
labels:
app: druid
release: druid
component: broker
spec:
containers:
- name: druid
image: "alvarogg777/druid:0.22.0"
imagePullPolicy: IfNotPresent
args: [ "broker" ]
env:
- name: DRUID_MAXDIRECTMEMORYSIZE
value: "400m"
- name: DRUID_XMS
value: "512m"
- name: DRUID_XMX
value: "512m"
- name: druid_processing_buffer_sizeBytes
value: "50000000"
- name: druid_processing_numMergeBuffers
value: "2"
- name: druid_processing_numThreads
value: "1"
envFrom:
- configMapRef:
name: druid
ports:
- name: http
containerPort: 8082
protocol: TCP
livenessProbe:
initialDelaySeconds: 60
httpGet:
path: /status/health
port: 8082
readinessProbe:
initialDelaySeconds: 60
httpGet:
path: /status/health
port: 8082
resources:
{}
---
# Source: druid/templates/coordinator/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: druid-coordinator
labels:
app: druid
chart: druid-0.3.0
component: coordinator
release: druid
heritage: Helm
spec:
replicas: 1
selector:
matchLabels:
app: druid
release: druid
component: coordinator
template:
metadata:
labels:
app: druid
release: druid
component: coordinator
spec:
containers:
- name: druid
image: "alvarogg777/druid:0.22.0"
imagePullPolicy: IfNotPresent
args: [ "coordinator" ]
env:
- name: DRUID_XMS
value: "256m"
- name: DRUID_XMX
value: "256m"
envFrom:
- configMapRef:
name: druid
ports:
- name: http
containerPort: 8081
protocol: TCP
livenessProbe:
initialDelaySeconds: 60
httpGet:
path: /status/health
port: 8081
readinessProbe:
initialDelaySeconds: 60
httpGet:
path: /status/health
port: 8081
resources:
{}
volumeMounts:
volumes:
---
# Source: druid/templates/router/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: druid-router
labels:
app: druid
chart: druid-0.3.0
component: router
release: druid
heritage: Helm
spec:
replicas: 1
selector:
matchLabels:
app: druid
release: druid
component: router
template:
metadata:
labels:
app: druid
release: druid
component: router
spec:
containers:
- name: druid
image: "alvarogg777/druid:0.22.0"
imagePullPolicy: IfNotPresent
args: [ "router" ]
env:
- name: DRUID_MAXDIRECTMEMORYSIZE
value: "128m"
- name: DRUID_XMS
value: "128m"
- name: DRUID_XMX
value: "128m"
envFrom:
- configMapRef:
name: druid
ports:
- name: http
containerPort: 8888
protocol: TCP
livenessProbe:
initialDelaySeconds: 60
httpGet:
path: /status/health
port: 8888
readinessProbe:
initialDelaySeconds: 60
httpGet:
path: /status/health
port: 8888
resources:
{}
---
# Source: druid/charts/zookeeper/templates/statefulset.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: druid-zookeeper
labels:
app: zookeeper
chart: zookeeper-2.1.4
release: druid
heritage: Helm
component: server
spec:
serviceName: druid-zookeeper-headless
replicas: 3
selector:
matchLabels:
app: zookeeper
release: druid
component: server
updateStrategy:
type: RollingUpdate
template:
metadata:
labels:
app: zookeeper
release: druid
component: server
spec:
terminationGracePeriodSeconds: 1800
securityContext:
fsGroup: 1000
runAsUser: 1000
containers:
- name: zookeeper
image: "zookeeper:3.5.9"
imagePullPolicy: IfNotPresent
command:
- "/bin/bash"
- "-xec"
- "/config-scripts/run"
ports:
- name: client
containerPort: 2181
protocol: TCP
- name: election
containerPort: 3888
protocol: TCP
- name: server
containerPort: 2888
protocol: TCP
livenessProbe:
exec:
command:
- sh
- /config-scripts/ok
initialDelaySeconds: 20
periodSeconds: 30
timeoutSeconds: 5
failureThreshold: 2
successThreshold: 1
readinessProbe:
exec:
command:
- sh
- /config-scripts/ready
initialDelaySeconds: 20
periodSeconds: 30
timeoutSeconds: 5
failureThreshold: 2
successThreshold: 1
env:
- name: ZK_REPLICAS
value: "3"
- name: JMXAUTH
value: "false"
- name: JMXDISABLE
value: "false"
- name: JMXPORT
value: "1099"
- name: JMXSSL
value: "false"
- name: ZK_HEAP_SIZE
value: "512M"
- name: ZK_SYNC_LIMIT
value: "10"
- name: ZK_TICK_TIME
value: "2000"
- name: ZOO_AUTOPURGE_PURGEINTERVAL
value: "0"
- name: ZOO_AUTOPURGE_SNAPRETAINCOUNT
value: "3"
- name: ZOO_INIT_LIMIT
value: "5"
- name: ZOO_MAX_CLIENT_CNXNS
value: "60"
- name: ZOO_PORT
value: "2181"
- name: ZOO_STANDALONE_ENABLED
value: "false"
- name: ZOO_TICK_TIME
value: "2000"
resources:
{}
volumeMounts:
- name: data
mountPath: /data
- name: config
mountPath: /config-scripts
volumes:
- name: config
configMap:
name: druid-zookeeper
defaultMode: 0555
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: "5Gi"
storageClassName: "longhorn"
---
# Source: druid/templates/historical/statefulset.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app: druid
chart: druid-0.3.0
component: historical
heritage: Helm
release: druid
name: druid-historical
spec:
serviceName: druid-historical
replicas: 1
selector:
matchLabels:
app: druid
release: druid
component: historical
template:
metadata:
labels:
app: druid
component: historical
release: druid
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
topologyKey: kubernetes.io/hostname
labelSelector:
matchLabels:
app: "druid"
release: "druid"
component: "historical"
securityContext:
fsGroup: 1000
containers:
- name: druid
args: [ "historical" ]
env:
- name: DRUID_MAXDIRECTMEMORYSIZE
value: "400m"
- name: DRUID_XMS
value: "512m"
- name: DRUID_XMX
value: "512m"
- name: druid_processing_buffer_sizeBytes
value: "50000000"
- name: druid_processing_numMergeBuffers
value: "2"
- name: druid_processing_numThreads
value: "1"
envFrom:
- configMapRef:
name: druid
resources:
{}
livenessProbe:
initialDelaySeconds: 60
httpGet:
path: /status/health
port: 8083
readinessProbe:
initialDelaySeconds: 60
httpGet:
path: /status/health
port: 8083
image: "alvarogg777/druid:0.22.0"
imagePullPolicy: "IfNotPresent"
ports:
- containerPort: 8083
name: http
volumeMounts:
- mountPath: /opt/druid/var/druid/
name: data
volumes:
updateStrategy:
type: RollingUpdate
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes:
- "ReadWriteOnce"
storageClassName: "longhorn"
resources:
requests:
storage: "4Gi"
---
# Source: druid/templates/middleManager/statefulset.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app: druid
chart: druid-0.3.0
component: middle-manager
heritage: Helm
release: druid
name: druid-middle-manager
spec:
serviceName: druid-middle-manager
replicas: 1
selector:
matchLabels:
app: druid
release: druid
component: middle-manager
template:
metadata:
labels:
app: druid
component: middle-manager
release: druid
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
topologyKey: kubernetes.io/hostname
labelSelector:
matchLabels:
app: "druid"
release: "druid"
component: "middle-manager"
securityContext:
fsGroup: 1000
containers:
- name: druid
args: [ "middleManager" ]
env:
- name: DRUID_XMS
value: "64m"
- name: DRUID_XMX
value: "64m"
- name: druid_indexer_fork_property_druid_processing_buffer_sizeBytes
value: "25000000"
- name: druid_indexer_runner_javaOptsArray
value: "[\"-server\", \"-Xms256m\", \"-Xmx256m\", \"-XX:MaxDirectMemorySize=300m\", \"-Duser.timezone=UTC\", \"-Dfile.encoding=UTF-8\", \"-XX:+ExitOnOutOfMemoryError\", \"-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager\"]"
envFrom:
- configMapRef:
name: druid
resources:
{}
livenessProbe:
initialDelaySeconds: 60
httpGet:
path: /status/health
port: 8091
readinessProbe:
initialDelaySeconds: 60
httpGet:
path: /status/health
port: 8091
image: "alvarogg777/druid:0.22.0"
imagePullPolicy: "IfNotPresent"
ports:
- containerPort: 8091
name: http
volumeMounts:
- mountPath: /opt/druid/var/druid/
name: data
volumes:
updateStrategy:
type: RollingUpdate
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes:
- "ReadWriteOnce"
storageClassName: "longhorn"
resources:
requests:
storage: "4Gi"
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org