Kafka Confluent Platform

Kafka Confluent means Apache Kafka used with Confluent tools, Confluent Platform, or Confluent Cloud. Apache Kafka is the event streaming system. Confluent adds packaging, clients, connectors, Schema Registry, REST access, management tools, and cloud options around Kafka.

This tutorial explains what Confluent adds to Apache Kafka, which Confluent setup to choose, how to run Kafka locally with Confluent CLI and Docker, and how the older Ubuntu-based Confluent Open Source installation worked. If you are new to Kafka, start with the main Kafka Tutorial.

About Confluent and Apache Kafka

Confluent is a company founded by the team that built Apache Kafka. It provides products and services around Kafka for real-time data streaming. In older articles you may see Confluent Open Source, Confluent Enterprise, and Confluent Cloud. For current learning, it is clearer to think in three paths.

  1. Confluent local development – run Kafka on a laptop with Docker and the Confluent CLI.
  2. Confluent Platform – self-manage Kafka and related components on your own infrastructure.
  3. Confluent Cloud – use Kafka as a managed cloud service without operating brokers yourself.

While we in this series of Kafka Tutorial discuss much about local Kafka and self-managed Kafka, you may choose Confluent Cloud when you do not want to install and maintain Kafka brokers.

What Confluent Adds to Apache Kafka

Apache Kafka gives you brokers, topics, partitions, producers, consumers, and basic command-line tools. Confluent packages Kafka with tooling that is often required in real projects.

  • Additional Kafka clients – libraries for languages such as C, C++, Python, .NET, Go, JavaScript, and others.
  • Kafka REST Proxy – HTTP access to Kafka for systems that cannot use a native Kafka client.
  • Schema Registry – a central service for managing message schemas such as Avro, JSON Schema, and Protobuf.
  • Kafka Connect and connectors – a framework and connector ecosystem for moving data between Kafka and external systems.
  • Confluent CLI and platform tools – command-line utilities for local development, topic operations, connector management, and platform administration.

For the Kafka fundamentals behind these tools, read Kafka Architecture, Kafka Topic, Kafka Console Producer, and Kafka Console Consumer.

Choose a Confluent Kafka Setup

RequirementRecommended setupWhy it fits
Learn Kafka commands on a laptopConfluent CLI with local Kafka in DockerQuick setup and easy cleanup.
Run Kafka on Ubuntu or Debian serversConfluent Platform packagesSuitable for a self-managed server environment.
Use Kafka without managing brokersConfluent CloudConfluent operates the Kafka cluster.
Follow an older Confluent 3.x tutorialLegacy Confluent Open Source stepsUseful only when maintaining an old installation.
Install Kafka on WindowsDocker Desktop, WSL 2, or Confluent CloudSimpler than native manual service setup.

Run Confluent Kafka Locally with Docker and CLI

For learning Kafka, the local Confluent CLI workflow is the simplest option. It starts Kafka in Docker, creates a topic, produces messages, and consumes them. This workflow is for local development and testing, not production.

</>
Copy
docker info

Install the Confluent CLI using the official method for your operating system. On macOS with Homebrew, use:

</>
Copy
brew install confluentinc/tap/cli

Start a local Kafka broker, create a topic, produce messages, and consume them from the beginning.

</>
Copy
confluent local kafka start
confluent local kafka topic create quickstart
confluent local kafka topic produce quickstart
this is my first Kafka message
hello world
this is another Kafka message
</>
Copy
confluent local kafka topic consume quickstart --from-beginning
confluent local kafka stop

Install Confluent Platform Packages on Ubuntu or Debian

For a server installation, use Confluent Platform packages. The package version in the repository URL changes over time, so check the current Confluent documentation before installing on a production machine.

</>
Copy
sudo apt-get update
sudo apt-get install -y wget gpg lsb-release
sudo mkdir -p /etc/apt/keyrings
wget -qO - https://packages.confluent.io/deb/8.3/archive.key | gpg --dearmor | sudo tee /etc/apt/keyrings/confluent.gpg > /dev/null
</>
Copy
CP_DIST=$(lsb_release -cs)
sudo tee /etc/apt/sources.list.d/confluent-platform.sources > /dev/null <<'EOF'
Types: deb
URIs: https://packages.confluent.io/deb/8.3
Suites: stable
Components: main
Architectures: amd64
Signed-by: /etc/apt/keyrings/confluent.gpg

Types: deb
URIs: https://packages.confluent.io/clients/deb/
Suites: ${CP_DIST}
Components: main
Architectures: amd64
Signed-By: /etc/apt/keyrings/confluent.gpg
EOF
sudo apt-get update
sudo apt-get install -y confluent-platform

Installing the package only downloads the software. A self-managed Confluent Platform deployment still needs broker and controller configuration, storage formatting, listeners, security, service management, monitoring, and capacity planning.

Legacy Confluent Open Source 3.3 Installation on Ubuntu

The following section keeps the older Confluent Open Source 3.3 Ubuntu steps for readers maintaining legacy systems. These commands use the older repository path and the older apt-key style. For a new installation, prefer the current Confluent Platform package instructions or the local Docker workflow shown above.

To install Confluent Open Source on Ubuntu, following is a step by step guide :

1. Install Confluent public key for the legacy 3.3 repository

$ wget -qO – http://packages.confluent.io/deb/3.3/archive.key | sudo apt-key add –
root@tutorialkart:/home/arjun# wget -qO - http://packages.confluent.io/deb/3.3/archive.key | sudo apt-key add -
OK

2. Add the Confluent 3.3 repository to sources list

$ sudo add-apt-repository “deb [arch=amd64] http://packages.confluent.io/deb/3.3 stable main”
root@tutorialkart:/home/arjun# sudo add-apt-repository "deb [arch=amd64] http://packages.confluent.io/deb/3.3 stable main"

3. Update Ubuntu packages after adding the Confluent repository

$ sudo apt-get update

4. Install the legacy Confluent Open Source Platform package

$ sudo apt-get install confluent-platform-oss-2.11

2.11 at the end refers to the scala version that is currently supported.

root@tutorialkart:/home/arjun# sudo apt-get install confluent-platform-oss-2.11
Reading package lists... Done
Building dependency tree      
Reading state information... Done
...

Following would be the locations

LocationDescription
/usr/bin/Confluent CLI and individual driver scripts for starting/stopping services, prefixed with <package> names
/etc/<package>/Configuration files. <package> : [confluent-common/ confluent-control-center/ confluent-control-center-fe/ confluent-rebalancer/]
/usr/share/java/<package>/Jars <package> : [kafka/ kafka-connect-jdbc/ kafka-connect-storage-common/ kafka-connect-elasticsearch/ kafka-connect-replicator/ kafka-rest/ kafka-connect-hdfs/ kafka-connect-s3/ kafka-serde-tools/ ]

5. Start Confluent services in the legacy installation

You may start all or some of the services using confluent command line interface with start command.

root@tutorialkart:~# confluent start
Starting zookeeper
zookeeper is [UP]
Starting kafka
kafka is [UP]
Starting schema-registry
schema-registry is [UP]
Starting kafka-rest
kafka-rest is [UP]
Starting connect
connect is [UP]

This older output starts ZooKeeper. Newer Kafka learning setups may use KRaft instead of ZooKeeper, especially when using the modern Confluent local Kafka command.

Confluent Kafka Installation Verification Checklist

  • CLI check: run confluent version and confirm that the command is found.
  • Docker check: run docker info before using local Kafka.
  • Topic check: create a topic such as quickstart.
  • Message check: produce a few records and consume them with --from-beginning.
  • Cleanup check: stop local Kafka with confluent local kafka stop.

Common Confluent Kafka Installation Issues

  • Docker is not running: start Docker Desktop or Docker Engine before running confluent local kafka start.
  • Old packages cannot be found: the Confluent 3.3 repository is legacy; use current Confluent Platform packages for new work.
  • Consumer shows no messages: confirm the topic name and use --from-beginning for older records.
  • Ubuntu install is incomplete: package download is not the same as a production-ready Kafka cluster.

Official Confluent Kafka References

Kafka Confluent FAQs

What is Kafka Confluent?

Kafka Confluent usually means Apache Kafka used with Confluent tools, Confluent Platform, or Confluent Cloud. Kafka is the streaming engine, and Confluent provides additional tooling and services around it.

Is Confluent the same as Apache Kafka?

No. Apache Kafka is the open-source streaming platform. Confluent is a company and product ecosystem built around Kafka.

Should I use Confluent local Docker or Ubuntu packages?

Use Confluent local Docker for learning and testing. Use Ubuntu or Debian packages when you need a self-managed server environment and are ready to configure Kafka services properly.

Can I install Confluent Kafka on Windows?

For Windows development, Docker Desktop, WSL 2, or Confluent Cloud are usually simpler than a native manual installation.

Why do older Confluent tutorials start ZooKeeper?

Older Kafka installations used ZooKeeper. Newer Kafka setups can use KRaft, where Kafka manages metadata without ZooKeeper. Check the Kafka and Confluent version before mixing old and new commands.

What to Learn After Installing Confluent Kafka

After setting up Confluent Kafka, practice the basic workflow: create a topic, send records with a producer, read records with a consumer, and then try Schema Registry or Kafka Connect. In this Kafka Tutorial, we have learnt about Confluent Platform, local Confluent Kafka setup, and the legacy Confluent Open Source Ubuntu installation.