Ruby Kafka Использование мгновенного сжатия требует добавления зависимости от `snappy` гема в ваш Gemfile. (Ошибка загрузки)

Я использую ruby-kafkagem, и у меня есть простой производитель и потребитель:

Режиссер

      require 'ruby-kafka'

class Producer
  def initialize(kafka_client: Kafka)
    @kafka_client = kafka_client.new(['localhost:9092'], client_id: 'my-application')
  end

  def produce
    # Instantiate a new producer.
    producer = @kafka_client.async_producer

    # Add a message to the producer buffer.
    3.times { producer.produce("hello1", topic: "twitter_tweets") }

    # Deliver the messages to Kafka.
    producer.deliver_messages
    producer.shutdown
  end
end

Потребитель

      require 'ruby-kafka'

class Consumer
  def initialize(kafka_client: Kafka)
    @kafka_client = kafka_client.new(['localhost:9092'], client_id: 'my-application')
  end

  def consume
    consumer = @kafka_client.consumer(group_id: "my-consumer")
    consumer.subscribe("twitter_tweets")
    consumer.each_message do |message|
      puts message.topic, message.partition
      puts message.offset, message.key, message.value
    end
  end
end

Когда я запускаю потребителя, я получаю сообщение об ошибке

      Using snappy compression requires adding a dependency on the `snappy` gem to your Gemfile. (LoadError)
cannot load such file -- snappy (LoadError)

В моем config/producer-config.shУ меня есть (не трогал)

      # specify the compression codec for all data generated: none, gzip, snappy, lz4, zstd
compression.type=none

Когда я запускаю производителя и потребителя с помощью CLI, он работает нормально, и я не получаю никаких ошибок. Это ошибка или я что-то упускаю?

0 ответов

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