Kafka Indexing Service
Kafka索引服务可以在Overlord上配置,通过管理Kafka索引任务的创建和生命周期来促进Kafka的消费。这些索引任务使用Kafka自己的分区和偏移机制读取事件,因此能够提供完全一次摄取的保证。他们还能够从Kafka读取非近期事件,并且不受使用Tranquility对其他摄取机制施加的窗口期限的影响。主管监督索引任务的状态,以协调切换,管理故障并确保维护可伸缩性和复制要求。
Kafka索引服务使用了Kafka 0.10.x中引入的Java consumer。由于此版本中存在协议更改,因此Kafka 0.10.x消费者可能与较旧的brokers不兼容。在使用此功能之前,请确保您的Kafka brokers是0.10.x或更高版本。如果您使用的是旧版Kafka brokers,请参阅Kafka升级指南。
Submitting a Supervisor Spec
Kafka索引服务要求druid-kafka-indexing-service在Overlord和MiddleManagers上加载扩展。
通过HTTP POST提交Supervisor Specd来启动一个dataSource的规范:
http://:/druid/indexer/v1/supervisor
例如:
curl -X POST -H 'Content-Type: application/json' -d @supervisor-spec.json http://localhost:8090/druid/indexer/v1/supervisor
示例Supervisor Spec如下所示:
{
"type": "kafka",
"dataSchema": {
"dataSource": "metrics-kafka",
"parser": {
"type": "string",
"parseSpec": {
"format": "json",
"timestampSpec": {
"column": "timestamp",
"format": "auto"
},
"dimensionsSpec": {
"dimensions": [],
"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",
"field