📈 GH Trending Explorer 🎲 Surprise me

← all repos

apache / kafka

git clone https://github.com/apache/kafka.git 🔥 on GitHub Trending today

Apache Kafka - A distributed event streaming platform

+32
stars, 24h · #257
+230
stars, 7 days · #271
+476
stars, 30 days · #583
34k
★ total · +1% this week
16k
forks · 655 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageJava
LicenseApache-2.0
Created2011-08-15 (15y ago)
Last pushtoday
Watchers1.1k
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-20 — #6 daily in java · +32 ★
  • 2026-10-20 — #7 monthly in java · +476 ★
  • 2026-10-20 — #7 weekly in java · +230 ★

GitHub topics

Links

README excerpt
**Apache Kafka** is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.
You need to have Java installed.
We build and test Apache Kafka with Java versions 17 and 25. The `release` parameter in javac is set to `11` for the clients 
and streams modules, and `17` for the rest, ensuring compatibility with their respective
minimum Java versions. Similarly, the `release` parameter in scalac is set to `11` for the streams modules and `17`
for the rest.
Scala 2.13 is the only supported version in Apache Kafka.
### Build a JAR and run it
 [code] 
Follow instructions in https://kafka.apache.org/quickstart
### Build source JAR
 [code] 
### Build aggregated javadoc
 [code] 
### Build javadoc and scaladoc
 [code] 
### Run unit/integration tests
 [code] 
### Force re-running tests without code change
 [code] 
### Running a particular unit/integration test
 [code] 
### Running a particular unit/integration test N times
 [code] 
### Running a particular test method within a unit/integration test
 [code] 
### Running a particular unit/integration test with log4j output
By default, there will be only a small number of logs output while testing. You can adjust it by changing the `log4j2.yaml` file in the module's `src/test/resources` directory.
For example, if you want to see more logs for clients project tests, you can modify the line in `clients/src/test/resources/log4j2.yaml` 
to `level: INFO` and then run:
 [code] 
And you should see `INFO` level logs in the file under the `clients/build/test-results/test` directory.
### Specifying test retries
Retries are disabled by default, but you can set maxTestRetryFailures and maxTestRetries to enable retries.
The following example declares -PmaxTestRetries=1 and -PmaxTestRetryFailures=3 to enable a failed test to be retried once, with a total retry limit of 3.
 [code] 
See Test Retry Gradle Plugin and build.yml for more details.
### Generating test coverage reports
Generate coverage reports for the whole project:
 [code] 
Generate coverage for a single module, i.e.: 
 [code] 
Coverage reports are located within the module's build directory, categorized by module type:
Core Module (:core): `core/build/reports/scoverageTest/index.html`
Other Modules: ` /build/reports/jacoco/test/html/index.html`
### Building a binary release gzipped tarball
 [code] 
The release file can be found inside `./core/build/distributions/`.
### Building auto-generated messages
Sometimes it is only necessary to rebuild the RPC auto-generated message data when switching between branches, as they could
fail due to code changes. You can just run:
 [code] 
See Apache Kafka Message Definitions for details on Apache Kafka message protocol.
### Running a Kafka broker
Using compiled files:
 [code] 
Using docker image:
 [code] 
See docker/README.md for detailed information.
### Cleaning the build
 [code] 
### Running