首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法通过Env变量设置带有camelCase名称的主题

无法通过Env变量设置带有camelCase名称的主题
EN

Stack Overflow用户
提问于 2022-03-21 14:28:31
回答 1查看 143关注 0票数 0

我派zeebe去掌舵。使用extraInitContainers指令,我设法包含了kafka-出口商3.1.1,并且它正确加载。在yml文件中,我设置了一系列env变量,下面可以看到一个摘录:

代码语言:javascript
复制
env:
    - name: ZEEBE_BROKER_EXPORTERS_KAFKA_ARGS_PRODUCER_SERVERS
      value: acme-infrastructure-kafka:9092
    - name: ZEEBE_BROKER_EXPORTERS_KAFKA_ARGS_PRODUCER_CONFIG
      value: "linger.ms=5\nbuffer.memory=8388608\nbatch.size=32768\nmax.block.ms=5000"
    - name: ZEEBE_BROKER_EXPORTERS_KAFKA_CLASSNAME
      value: io.zeebe.exporters.kafka.KafkaExporter
    - name: ZEEBE_BROKER_EXPORTERS_KAFKA_JARPATH
      value: /usr/local/zeebe/exporters/zeebe-kafka-exporter.jar
    - name: ZEEBE_BROKER_EXPORTERS_KAFKA_ARGS_RECORDS_DEFAULTS_TYPE
      value: ""
    - name: ZEEBE_BROKER_EXPORTERS_KAFKA_ARGS_RECORDS_DEFAULTS_TOPIC
      value: "zeebe"
    - name: ZEEBE_BROKER_EXPORTERS_KAFKA_ARGS_RECORDS_JOB_TYPE
      value: "event"
    - name: ZEEBE_BROKER_EXPORTERS_KAFKA_ARGS_RECORDS_JOB_TOPIC
      value: "zeebe-job"
    - name: ZEEBE_BROKER_EXPORTERS_KAFKA_ARGS_RECORDS_PROCESSINSTANCE_TYPE
      value: "event"
    - name: ZEEBE_BROKER_EXPORTERS_KAFKA_ARGS_RECORDS_PROCESSINSTANCE_TOPIC
      value: "zeebe-process-instance"

使用此配置,我不会接收任何zeebe主题记录,而是接收带有类型事件的zeebe-作业和zeebe-process实例的ony主题,如文档所解释的那样。但是我只得到了作业,而且我认为流程实例主题不能工作,因为它想要这样: json文件中的processInstance,但是它得到了这个processinstance.从zeebe日志中,一旦启动,我就可以看到配置,主题都是小写的:

代码语言:javascript
复制
io.camunda.zeebe.broker.exporter - Configured Kafka exporter: Config{producer=ProducerConfig{clientId='zeebe', closeTimeout=PT20S, config={batch.size=32768, max.block.ms=5000, buffer.memory=8388608, linger.ms=5}, requestTimeout=PT5S, maxBlockingTimeout=PT2S, servers=[datamanent-infrastructure-kafka:9092]}, records=RecordsConfig{typeMap={JOB=RecordConfig{allowedTypes=[EVENT], topic='zeebe-job'}, INCIDENT=RecordConfig{allowedTypes=[EVENT], topic='zeebe-incident'}, ERROR=RecordConfig{allowedTypes=[EVENT], topic='zeebe-error'}, PROCESS=RecordConfig{allowedTypes=[EVENT], topic='zeebe-process'}}, defaults=RecordConfig{allowedTypes=[], topic='zeebe'}}, maxBatchSize=100, commitInterval=PT1S}
2022-03-21 14:16:29.038 [] [main] INFO
      io.camunda.zeebe.broker.system - Version: 1.3.4
2022-03-21 14:16:29.068 [] [main] INFO
      io.camunda.zeebe.broker.system - Starting broker 0 with configuration {

 "kafka" : {
      "jarPath" : "/usr/local/zeebe/exporters/zeebe-kafka-exporter.jar",
      "className" : "io.zeebe.exporters.kafka.KafkaExporter",
      "args" : {
        "maxbatchsize" : "100",
        "producer" : {
          "clientid" : "zeebe",
          "servers" : "acme-infrastructure-kafka:9092",
          "config" : "linger.ms=5\nbuffer.memory=8388608\nbatch.size=32768\nmax.block.ms=5000"
        },
        "records" : {
          "job" : {
            "topic" : "zeebe-job",
            "type" : "event"
          },
          "process" : {
            "type" : "event",
            "topic" : "zeebe-process"
          },
          "defaults" : {
            "type" : "",
            "topic" : "zeebe"
          },
          "error" : {
            "topic" : "zeebe-error",
            "type" : "event"
          },
          "incident" : {
            "type" : "event",
            "topic" : "zeebe-incident"
          },
          "processinstance" : {
            "topic" : "zeebe-process-instance",
            "type" : "event"
          }
        },
        "maxblockingtimeoutms" : "1000",
        "flushintervalms" : "1000"
      },
      "external" : true
    }

在这里,社区项目的链接:https://github.com/camunda-community-hub/zeebe-kafka-exporter

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-29 10:15:21

这是已知的限制https://github.com/camunda/zeebe/issues/4724,我们希望我们可以通过使用Spring的ApplicationContext实例化出口商参数(参见https://github.com/camunda/zeebe/issues/7628 )来解决这个问题。

为了正确地配置这一点,可以使用JAVA_OPTIONS环境变量:

因此,例如将ZEEBE_BROKER_EXPORTERS_KAFKA_ARGS_RECORDS_PROCESSINSTANCE_TYPE=event写为JAVA_OPTS="${JAVA_OPTS} -Dzeebe.broker.exporters.kafka.args.records.processInstance.type=event

或者您可以通过application.yaml https://github.com/camunda/zeebe/blob/main/dist/src/main/config/broker.standalone.yaml.template来完成它,您可以将它从一个configmap挂载到容器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71559250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档