Центр сообщений и слияния Kafka Connect S3 - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть требование использовать сообщения из темы IBM MHub в IBM Object Storage.

Я получил его, работая с локальным сервером Kafka с подключаемым модулем Confluent Kafka Connect S3 в качестве отдельного работника для приемника и файла Amazon S3.И то, и другое было успешным.

Если я сконфигурирую Confluent Kafka Connect S3 в качестве распределенного работника для кластера IBM MHub, я не получаю никаких ошибок, но все еще не получаю сообщения в корзину Amazon S3.Я тоже попробовал файл-сток, не повезло.

Возможно ли это вообще?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

From: https://kafka.apache.org/documentation/#connect_running

Параметры, которые настроены здесь, предназначены для производителей и потребителей, используемых Kafka Connect для доступа к темам конфигурации, смещения и состояния.Для настройки задач источника Kafka и приемника Kafka могут использоваться одни и те же параметры, но они должны иметь префикс перед потребителем.и продюсер.соответственно.Единственный параметр, который наследуется от рабочей конфигурации, - это bootstrap.servers, которого в большинстве случаев будет достаточно, поскольку один и тот же кластер часто используется для всех целей.Заметным исключением является защищенный кластер, для которого требуются дополнительные параметры, разрешающие соединения.Эти параметры нужно будет установить до трех раз в рабочей конфигурации, один раз для доступа к управлению, один раз для приемников Kafka и один раз для источников Kafka.

Таким образом, решение было добавлением дублированной конфигурации с потребителем.добавьте префикс в рабочую конфигурацию, чтобы вместо значений по умолчанию для приемника потребителя были установлены необходимые параметры sasl_ssl.

IBM Cloud Object Storage также работает.Требуются учетные данные, например.env vars: AWS_ACCESS_KEY_ID = "см. учетные данные cos" & AWS_SECRET_ACCESS_KEY = "см. учетные данные cos"

Конфигурация соединителя:

{
"name": "s3-sink",
"config": {
    "connector.class": "io.confluent.connect.s3.S3SinkConnector",
    "tasks.max": "5",
    "topics": "your-topic",
    "s3.region": "eu-central-1",
    "store.url": "https://s3.eu-geo.objectstorage.softlayer.net",
    "s3.bucket.name": "your-bucket",
    "s3.part.size": "5242880",
    "flush.size": "1",
    "storage.class": "io.confluent.connect.s3.storage.S3Storage",
    "format.class": "io.confluent.connect.s3.format.json.JsonFormat",
    "partitioner.class": "io.confluent.connect.storage.partitioner.DefaultPartitioner",
    "schema.compatibility": "NONE",
    "name": "s3-sink"
}

}

0 голосов
/ 19 сентября 2018

Вы можете попробовать использовать Message Hub (теперь известный как Event Streams) Мост хранения облачных объектов: https://console.bluemix.net/docs/services/MessageHub/messagehub115.html#cloud_object_storage_bridge

Кажется, чтобы соответствовать вашему требованию?

...