настройка службы индексирования druid kafka

Я следил за документами и редактировал:

druid-0.9.2/conf/druid/_common/common.runtime.properties

и добавил:

"druid-kafka-indexing-service"

к druid.extensions.loadList и перезапустил все службы друидов: middlemanager, overlord, coordinator, broker, historical

Я побежал:

curl -X 'POST' -H 'Content-Type:application/json' -d @kafka_connect/script.json druid_server:8090/druid/indexer/v1/task

но получил:

{"error":"Could not resolve type id 'kafka' into a subtype of [simple type, class io.druid.indexing.common.task.Task]\n at [Source: HttpInputOverHTTP@4c467f1c; line: 1, column: 4]"}

Входной json имеет:

{
  "type": "kafka",
  "dataSchema": {
    "dataSource": "sensors-kafka",
    "parser": {
      "type": "string",
      "parseSpec": {
        "format": "json",
        "timestampSpec": {
          "column": "timestamp",
          "format": "auto"
        },
        "dimensionsSpec": {
          "dimensions": ["machine", "key"],
          "dimensionExclusions": [
            "timestamp",
            "value"
          ]
        }
      }
    },
    "metricsSpec": [
      {
        "name": "count",
        "type": "count"
      },
      {
        "name": "value_sum",
        "fieldName": "value",
        "type": "doubleSum"
      },
      {
        "name": "value_min",
        "fieldName": "value",
        "type": "doubleMin"
      },
      {
        "name": "value_max",
        "fieldName": "value",
        "type": "doubleMax"
      }
    ],
    "granularitySpec": {
      "type": "uniform",
      "segmentGranularity": "HOUR",
      "queryGranularity": "NONE"
    }
  },
  "tuningConfig": {
    "type": "kafka",
    "maxRowsPerSegment": 5000000
  },
  "ioConfig": {
    "topic": "sensor",
    "consumerProperties": {
      "bootstrap.servers": "kafka_server:2181"
    },
    "taskCount": 1,
    "replicas": 1,
    "taskDuration": "PT1H"
  }
}

Есть идеи, что я сделал не так? Согласно документу: http://druid.io/docs/0.9.2-rc3/development/extensions-core/kafka-ingestion.html, type это kafka?

Есть ли способ проверить, правильно ли загружено расширение, или мне нужно указывать расширение в runtime.properties каждого компонента?


person KillerSnail    schedule 24.02.2017    source источник


Ответы (3)


Я столкнулся с аналогичными проблемами, и я исправил их, изменив файл "conf / druid / _common / common.runtime.properties", добавив "druid-kafka-indexing-service" в druid.extensions.loadList, и теперь его показ нравится:

druid.extensions.loadList=["druid-parser-route", "mysql-metadata-storage", "druid-kafka-indexing-service"]

Надежда может помочь кому угодно

person huang botao    schedule 04.07.2018

Спецификации json супервизора должны быть отправлены на эту конечную точку на повелителя /druid/indexer/v1/supervisor

curl -X POST -H 'Content-Type: application/json' -d @kafka_connect/script.json http://druid_server:8090/druid/indexer/v1/supervisor
person Pierre Lacave    schedule 24.02.2017
comment
Если ошибка изменилась на что-то вроде Kafka, не может быть разрешена overlord, я бы дважды проверил, правильно ли загружены расширения, они печатаются при запуске overlord. - person Pierre Lacave; 27.02.2017
comment
хорошо сработал. Я использовал руководство по быстрому запуску, но документация по расширениям относится к conf, а не conf-quickstart, которые я использовал для запуска служб ... Теперь я получил error 500, но это потому, что источник данных был закодирован для отправки timestamp как эпохи, а не YYYY-MM-DD так далее - person KillerSnail; 27.02.2017

при использовании dockerized apache / druid необходимо установить

druid.extensions.loadList = [druid-histogram, druid-datasketches, druid-lookups-cached-global, postgresql-metadata-storage, druid-kafka-indexing-service]

в файле /opt/druid/conf/druid/cluster/_common/common.runtime.properties

person AjitChahal    schedule 06.02.2021