Центр сообщений и слияния Kafka Connect S3

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

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

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

Это вообще возможно?

2 ответа

Решение

От: https://kafka.apache.org/documentation/

Параметры, которые настроены здесь, предназначены для производителей и потребителей, используемых 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"
}

}

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

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

Другие вопросы по тегам