Questions tagged [kafka]

Use this tag for questions about Apache Kafka - a distributed streaming (aka publish and subscribe or pub/sub) platform.

From the Apache Kafka Introduction page:

Apache Kafka® is a distributed streaming platform. What exactly does that mean?

A streaming platform has three key capabilities:

  • Publish and subscribe to streams of records, similar to a message queue or enterprise messaging system.
  • Store streams of records in a fault-tolerant durable way.
  • Process streams of records as they occur.

Kafka is generally used for two broad classes of applications:

  • Building real-time streaming data pipelines that reliably get data between systems or applications
  • Building real-time streaming applications that transform or react to the streams of data

First a few concepts:

  • Kafka is run as a cluster on one or more servers that can span multiple datacenters.
  • The Kafka cluster stores streams of records in categories called topics.
  • Each record consists of a key, a value, and a timestamp.

Kafka has four core APIs:

  • The Producer API allows an application to publish a stream of records to one or more Kafka topics.
  • The Consumer API allows an application to subscribe to one or more topics and process the stream of records produced to them.
  • The Streams API allows an application to act as a stream processor, consuming an input stream from one or more topics and producing an output stream to one or more output topics, effectively transforming the input streams to output streams.
  • The Connector API allows building and running reusable producers or consumers that connect Kafka topics to existing applications or data systems. For example, a connector to a relational database might capture every change to a table.
10 questions
3
votes
0 answers

Confluent Kafka helm chart - broker pods not being able to communicate to Zookeper overtime

We are running confluent helm chart on a lot of clusters, we occasionally get brokers pods failing after some time and no self-heal after is following, the error in the broker usually is the…
2
votes
1 answer

How to add LinkedIn's Burrow to a Docker Compose?

It appears LinkedIn doesn't have an official Burrow docker image on Docker Hub, but there are others who have forked it. However, I can't find any examples of how to add any of them to a docker compose file that spins up ZK and Kafka something like…
2
votes
1 answer

Multiple Kafka brokers behind a single OpenShift service?

Is it possible to have several brokers behind a single TCP/IP port? I.e., offer a single endpoint for Kafka clients, and having a scalable amount of brokers behind that? In my company, some people are configuring a (scaling) Kafka server for us,…
AnoE
  • 4,936
  • 14
  • 26
1
vote
1 answer

Kafka from client to server vs. "router" in the DC

I want to use Kafka as a message broker on the server side of a distributed application. We have clients that can be located around the world, and that send frequent messages to the server. Right now those messages are just JSON over ZMQ. I am…
1
vote
1 answer

EKS - Get availability zone of pod deployment from pod

In my EKS cluster, I have a few node groups that cover availability zone A and B. The pods running on the nodes are consumers/producers on various Kafka topics (MSK). There isn't any internal communication between the pods. I have two brokers for…
hi im Bacon
  • 121
  • 1
  • 4
0
votes
1 answer

How can I create my own rhel-based kafka (4.0.0) image and modify the server.properties at startup with docker-compose.yml

The problem I am having is that kafka does not use the environment variables passed in from Docker-compose. It just uses the default server.properties file. I know this is by design (or lack thereof).. but why bother passing in the environment…
0
votes
0 answers

Kafka KRaft cluster docker configuration

I want to create Kafka cluster in KRaft mode with two controllers and two brokers. I wrote configuration: services: kafka-controller-1: image: 'bitnami/kafka:latest' environment: - KAFKA_CFG_NODE_ID=0 -…
Pedro
  • 1
0
votes
0 answers

Proper way to horizontally scale Kafka 3 KRaft cluster

I am working with a Kafka 3.6.1 cluster (KRaft mode enabled) and would like some guidance on scaling Kafka brokers and controllers. Below are the details of my setup and the steps I followed, along with some challenges encountered. So before going…
Joom187
  • 101
0
votes
1 answer

Confluent Kafka on K8s - offset is stuck, lag increases, what can be done?

We are using Confluent Kafka cluster on production K8s. It looks like our consumers are stuck in a loop as offset is static and lag keeps going up. When I restart zookeper/brokers (persistent volume) the offset moves by a small amount and then it is…
0
votes
1 answer

AWS MSK: deploying all Kafka brokers in the same availability zone

When using AWS MSK, is it possible to deploy Kafka brokers in the same AWS availability zone? From what I read, AWS enforces deployments across availability zones. If you use three brokers, it will require three subnets in different availability…
Philipp Claßen
  • 1,675
  • 3
  • 18
  • 30