Интеграция Kerbenous kafka и Acache pinot
Я пытаюсь интегрировать Kerbonous Kafka и apache pinot.
У меня есть некоторые данные в моей теме, и я хочу загрузить их в свою таблицу Пино в реальном времени. Я завершил этот процесс с помощью пользовательского интерфейса, где в пользовательском интерфейсе Pinot мне нужно добавить одну схему и одну таблицу в реальном времени, а затем передать список брокеров Kafka и имя темы и его работу, как ожидалось. Теперь то же самое, что я делаю на сервере через командную строку, где я передаю схему для создания таблиц.
Я использую следующие шаги.
- Создайте одну тему Kafka.
- Напишите какие-то события в теме Кафки.
Теперь я указал свой сервер Pinot и создал два файла.
- TableSchema.json
- TableConfig.Json
- Расположение файла TableSchema.json: home / username / apache-pinot-incubating-0.7.1 / apache-pinot-incubating-0.7.1-bin / examples / stream / airlinesStats / TableSchema.json
- Расположение файла TableConfig.Json: home / username / apache-pinot-incubating-0.7.1 / apache-pinot-incubating-0.7.1-bin / examples / stream / airlinesStats / TableConfig.json
После этого в другом терминале Pinot я выполняю команду ниже
bin/pinot-admin.sh AddTable -schemaFile home/username/apache-pinot-incubating-
0.7.1/apache-pinot-incubating-0.7.1-bin/examples/stream/airlineStats/TableSchema.json
-tableConfigFile home/username/apache-pinot-incubating-0.7.1/apache-pinot-incubating-0.7.1-bin/
examples/stream/airlineStats/TableConfig.json -exec
Содержимое файла TableSchema.json:
{
"schemaName": "transcript",
"dimensionFieldSpecs": [
{
"name": "studentID",
"dataType": "INT"
},
{
"name": "firstName",
"dataType": "STRING"
},
{
"name": "lastName",
"dataType": "STRING"
},
{
"name": "gender",
"dataType": "STRING"
},
{
"name": "subject",
"dataType": "STRING"
}
],
"metricFieldSpecs": [
{
"name": "score",
"dataType": "FLOAT"
}
],
"dateTimeFieldSpecs": [{
"name": "timestampInEpoch",
"dataType": "LONG",
"format" : "1:MILLISECONDS:EPOCH",
"granularity": "1:MILLISECONDS"
}]
}
Содержимое файла TableConfig.Json:
{
"tableName": "transcript",
"tableType": "REALTIME",
"segmentsConfig": {
"timeColumnName": "timestampInEpoch",
"timeType": "MILLISECONDS",
"schemaName": "transcript",
"replicasPerPartition": "1"
},
"tenants": {},
"tableIndexConfig": {
"loadMode": "MMAP",
"streamConfigs": {
"streamType": "kafka",
"stream.kafka.consumer.type": "lowlevel",
"stream.kafka.topic.name": "transcript-topic",
"stream.kafka.decoder.class.name": "org.apache.pinot.plugin.stream.kafka.KafkaJSONMessageDecoder",
"stream.kafka.consumer.factory.class.name": "org.apache.pinot.plugin.stream.kafka20.KafkaConsumerFactory",
"stream.kafka.broker.list": "localhost:9876",
"realtime.segment.flush.threshold.size": "0",
"realtime.segment.flush.threshold.time": "24h",
"realtime.segment.flush.desired.size": "50M",
"stream.kafka.consumer.prop.auto.offset.reset": "smallest"
}
},
"metadata": {
"customConfigs": {}
}
}
Мои выписки по теме данных.
{"studentID":205,"firstName":"Natalie","lastName":"Jones","gender":"Female","subject":"Maths","score":3.8,"timestampInEpoch":1571900400000}
{"studentID":205,"firstName":"Natalie","lastName":"Jones","gender":"Female","subject":"History","score":3.5,"timestampInEpoch":1571900400000}
{"studentID":207,"firstName":"Bob","lastName":"Lewis","gender":"Male","subject":"Maths","score":3.2,"timestampInEpoch":1571900400000}
{"studentID":207,"firstName":"Bob","lastName":"Lewis","gender":"Male","subject":"Chemistry","score":3.6,"timestampInEpoch":1572418800000}
{"studentID":209,"firstName":"Jane","lastName":"Doe","gender":"Female","subject":"Geography","score":3.8,"timestampInEpoch":1572505200000}
{"studentID":209,"firstName":"Jane","lastName":"Doe","gender":"Female","subject":"English","score":3.5,"timestampInEpoch":1572505200000}
{"studentID":209,"firstName":"Jane","lastName":"Doe","gender":"Female","subject":"Maths","score":3.2,"timestampInEpoch":1572678000000}
{"studentID":209,"firstName":"Jane","lastName":"Doe","gender":"Female","subject":"Physics","score":3.6,"timestampInEpoch":1572678000000}
{"studentID":211,"firstName":"John","lastName":"Doe","gender":"Male","subject":"Maths","score":3.8,"timestampInEpoch":1572678000000}
{"studentID":211,"firstName":"John","lastName":"Doe","gender":"Male","subject":"English","score":3.5,"timestampInEpoch":1572678000000}
{"studentID":211,"firstName":"John","lastName":"Doe","gender":"Male","subject":"History","score":3.2,"timestampInEpoch":1572854400000}
{"studentID":212,"firstName":"Nick","lastName":"Young","gender":"Male","subject":"History","score":3.6,"timestampInEpoch":1572854400000}
До этого процесса все работает без проблем. но я не могу понять, как мне реализовать то же самое с kerberos kafka вместо Kafka. Т.е. как и где мне обновить настройку аутентификации SASL PLAIN.