[英]Apache Druid on Digital Ocean Kubernetes, receiving `Access Denied` when attempting `mkdir /var/druid`
As the title indicates.如标题所示。 I'm attempting to run Apache Druid on Kube.netes hosted on Digital Ocean.
我正在尝试在 Digital Ocean 上托管的 Kube.netes 上运行 Apache Druid。 Locally I've run this exact configuration on Minikube and had it work fine, but when I switch the cluster to Digital Ocean I get an Access Denied error on each pod when attempting to create
/var/druid
.在本地,我已经在 Minikube 上运行了这个精确的配置并且它工作正常,但是当我将集群切换到 Digital Ocean 时,我在尝试创建
/var/druid
时在每个 pod 上都遇到了 Access Denied 错误。
Service:服务:
apiVersion: v1
kind: Service
metadata:
name: router
labels:
app: router
spec:
ports:
- port: 8888
selector:
app: router
PersistentVolumeClaim:持久卷声明:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: router
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
status: {}
And Deployment:和部署:
apiVersion: apps/v1
kind: Deployment
metadata:
name: router
spec:
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 2
maxUnavailable: 1
selector:
matchLabels:
app: druid
replicas: 3
template:
metadata:
labels:
app: druid
spec:
containers:
- name: router
image: apache/druid:24.0.2
args:
- router
env:
- name: AWS_REGION
value: us-west-2
- name: DRUID_LOG4J
value: <?xml version="1.0" encoding="UTF-8" ?><Configuration status="WARN"><Appenders><Console name="Console" target="SYSTEM_OUT"><PatternLayout pattern="%d{ISO8601} %p [%t] %c - %m%n"/></Console></Appenders><Loggers><Root level="info"><AppenderRef ref="Console"/></Root><Logger name="org.apache.druid.jetty.RequestLog" additivity="false" level="DEBUG"><AppenderRef ref="Console"/></Logger></Loggers></Configuration>
- name: DRUID_SINGLE_NODE_CONF
value: micro-quickstart
- name: druid_coordinator_balancer_strategy
value: cachingCost
- name: druid_emitter_logging_logLevel
value: debug
- name: druid_extensions_loadList
value: '["druid-histogram", "druid-datasketches", "druid-lookups-cached-global", "postgresql-metadata-storage", "druid-multi-stage-query", "druid-s3-extensions", "druid-parquet-extensions"]'
- name: druid_indexer_fork_property_druid_processing_buffer_sizeBytes
value: 256MiB
- name: druid_indexer_logs_directory
value: /opt/shared/indexing-logs
- name: druid_indexer_logs_type
value: file
- name: druid_indexer_runner_javaOptsArray
value: '["-server", "-Xmx1g", "-Xms1g", "-XX:MaxDirectMemorySize=3g", "-Duser.timezone=UTC", "-Dfile.encoding=UTF-8", "-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager", "-Daws.region=us-west-2"]'
- name: druid_metadata_storage_connector_connectURI
value: jdbc:postgresql://postgres.druid.svc.cluster.local:5432/druid
- name: druid_metadata_storage_connector_password
value: FoolishPassword
- name: druid_metadata_storage_connector_user
value: druid
- name: druid_metadata_storage_host
- name: druid_metadata_storage_type
value: postgresql
- name: druid_processing_numMergeBuffers
value: "2"
- name: druid_processing_numThreads
value: "2"
- name: druid_storage_storageDirectory
value: /opt/shared/segments
- name: druid_storage_type
value: local
- name: druid_zk_service_host
value: zk-cs.druid.svc.cluster.local
ports:
- containerPort: 8888
volumeMounts:
- mountPath: /opt/druid/var
name: router
resources:
limits:
memory: "512Mi"
cpu: "500m"
restartPolicy: Always
volumes:
- name: router
persistentVolumeClaim:
claimName: router
I am very new to Druid and Kube.netes, so I'm sure some of this isn't correct, but the scope of this work is literally just getting the configuration to work as it did locally, on DO.我是 Druid 和 Kube.netes 的新手,所以我确信其中有些不正确,但这项工作的 scope 实际上只是让配置像在本地一样在 DO 上工作。 Googling suggests something about the Druid version being incorrect - lots of questions about Docker Compose.
谷歌搜索表明德鲁伊版本不正确 - 关于 Docker Compose 的很多问题。 None of this seems very helpful as it did work on Minikube and the version hasn't changed.
这些似乎都不是很有帮助,因为它确实适用于 Minikube,而且版本没有改变。
IIRC micro quickstart uses the local deep storage which does not work on kube solutions unless you have an NFS. IIRC micro quickstart 使用本地深度存储,除非您有 NFS,否则它不适用于 kube 解决方案。 You might want to configure deep storage https://druid.apache.org/docs/latest/tutorials/cluster.html#deep-storage
您可能需要配置深度存储https://druid.apache.org/docs/latest/tutorials/cluster.html#deep-storage
Your druid version seems correct to me.你的德鲁伊版本对我来说似乎是正确的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.