Я следил за документами и редактировал:
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
каждого компонента?