Как мы можем использовать Kafka Connect с Cassandra без использования фреймворков Confluent.
Как использовать Kafka Connect для Cassandra без Confluent
Ответы (2)
Kafka Connect является платформой. Confluent предлагает только коннекторы. Если вы не хотите использовать Confluent Open Source (а почему бы и нет?), вы можете использовать все эти коннекторы и с ванильным Apache Kafka.
Доступно несколько коннекторов Casandra: https://www.confluent.io/product/connectors/
Кстати: ни один из перечисленных коннекторов Casandra не поддерживается Confluent.
Конечно, вы также можете написать свой собственный коннектор или использовать любой сторонний коннектор.
DataMountaineer Stream Reactor содержит решение Cassandra Source and Sink, которое можно использовать с Kafka. Соединять.
Перетащите файл jar (скачать) в папку Kafka libs, а затем укажите ваш разъем следующим образом:
{
"name": "cassandra-NAME",
"config": {
"tasks.max": "1",
"connector.class": "com.datamountaineer.streamreactor.connect.cassandra.source.CassandraSourceConnector",
"connect.cassandra.key.space": "KEYSPACE",
"connect.cassandra.source.kcql": "INSERT INTO KAFKA_TOPIC SELECT column1, timestamp_col FROM CASSANDRA_TABLE PK timestamp_col",
"connect.cassandra.import.mode": "incremental",
"connect.cassandra.contact.points": "localhost",
"connect.cassandra.port": 9042,
"connect.cassandra.import.poll.interval": 10000
}}
Запустите Kafka Connect
bin/connect-distributed.sh config/connect-distributed.properties
И загрузите коннектор Cassandra в Kafka Connect через файл свойств JSON, указанный выше (при условии, что он имеет имя connect-cassandra-source.json).
curl -X POST -H "Content-Type: application/json" -d @config/connect-cassandra-source.json localhost:8083/connectors
Вам нужно будет создать таблицу со столбцом timeuuid в качестве ключа кластера. Это описано здесь.