繁体   English   中英

Apache Digital Ocean Kube.netes 上的 Druid,在尝试 `mkdir /var/druid` 时收到 `Access Denied`

[英]Apache Druid on Digital Ocean Kubernetes, receiving `Access Denied` when attempting `mkdir /var/druid`

如标题所示。 我正在尝试在 Digital Ocean 上托管的 Kube.netes 上运行 Apache Druid。 在本地,我已经在 Minikube 上运行了这个精确的配置并且它工作正常,但是当我将集群切换到 Digital Ocean 时,我在尝试创建/var/druid时在每个 pod 上都遇到了 Access Denied 错误。

服务:

apiVersion: v1
kind: Service
metadata:
  name: router
  labels:
    app: router
spec:
  ports:
    - port: 8888
  selector:
    app: router

持久卷声明:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: router
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 100Mi
status: {}

和部署:

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

我是 Druid 和 Kube.netes 的新手,所以我确信其中有些不正确,但这项工作的 scope 实际上只是让配置像在本地一样在 DO 上工作。 谷歌搜索表明德鲁伊版本不正确 - 关于 Docker Compose 的很多问题。 这些似乎都不是很有帮助,因为它确实适用于 Minikube,而且版本没有改变。

IIRC micro quickstart 使用本地深度存储,除非您有 NFS,否则它不适用于 kube 解决方案。 您可能需要配置深度存储https://druid.apache.org/docs/latest/tutorials/cluster.html#deep-storage

你的德鲁伊版本对我来说似乎是正确的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM