Как сохранить входы (Kafka) в базу данных (Cassandra или Hive)?

#apache-kafka

#apache-kafka

Вопрос:

Как сохранить журналы, которые передаются от производителя к потребителю, в базе данных, я следую следующему шагу после загрузки версии 0.9.0.0 и удаления ее.

  1. $ bin/zookeeper-server-start.sh config/zookeeper.properties amp;

  2. $ bin/kafka-server-start.sh config/server.properties

  3. $ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic fast-messages

$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic summary-markers

  1. $ bin/kafka-topics.sh --list --zookeeper localhost:2181

  2. $ cd .. $ mvn package

  3. Запустите производителя

  4. Запустите потребителя

Ответ №1:

Загрузите версию 0.9.0.0 и удалите ее.

Это очень старая версия Kafka… Все шаги, которые вы использовали, работают точно так же в более новых версиях и, вероятно, будут более стабильными.


Kafka не хранит свои данные (журналы) в базе данных.


Если вы хотите отправить данные, созданные в Kafka, в другую систему, то включенный инструмент (начиная с Kafka 0.10) называется Kafka Connect, и вы можете найти соединители, которые уже существуют для HDFS / Hive, а также для Cassandra.

Но вы можете написать любому потребителю для самостоятельной записи в эти системы, Kafka просто не объединяет это из коробки.