Introduction
Apache Druid is a real-time analytics database designed for high-speed data ingestion and query execution. It is widely used in big data analytics, business intelligence, and real-time event processing.
π Why Use Apache Druid?
β Fast Query Performance β Handles billions of events per second.
β Real-Time Streaming Ingestion β Processes Kafka and Kinesis streams efficiently.
β Scalability β Supports large-scale cloud deployments.
β Multi-Tenant Support β Optimized for multi-user queries.
This guide will walk you through installing Apache Druid on Windows using Windows Subsystem for Linux (WSL).
1. Prerequisites
Before installing Apache Druid, ensure you have: β Windows 11 (or Windows 10 with WSL2 support)
β Ubuntu 22.04 LTS installed via WSL
β Java 17 JRE (OpenJDK 17 required for Druid)
β Administrator access to enable WSL features
2. Install Windows Subsystem for Linux (WSL)

β Step 1: Enable WSL in Windows
1οΈβ£ Open Microsoft Store on your Windows machine.
2οΈβ£ Search for Windows Subsystem for Linux.
3οΈβ£ Download and install WSL.
Alternatively, you can enable WSL via PowerShell:
powershellCopyEditwsl --install
π‘ This command installs WSL and sets up Ubuntu as the default distribution.
3. Install Ubuntu on WSL

β Step 2: Install Ubuntu 22.04 LTS
1οΈβ£ Open Microsoft Store.
2οΈβ£ Search for Ubuntu 22.04 LTS.
3οΈβ£ Click Install and wait for the setup to complete.
β Step 3: Enable Windows Features
1οΈβ£ Search for Turn Windows features on or off in the Windows Start Menu.
2οΈβ£ Enable the following: β Virtual Machine Platform
β Windows Subsystem for Linux
3οΈβ£ Click OK and restart your system.
4. Set Up Apache Druid in Ubuntu (WSL)

β Step 4: Open Ubuntu and Create a User Account
After installing Ubuntu: 1οΈβ£ Launch Ubuntu from the Start Menu.
2οΈβ£ Set up a username and password for your WSL environment.
β Step 5: Install Java 17 (OpenJDK)
Apache Druid requires Java 17 JRE. Install it using:
bashCopyEditsudo apt update
sudo apt install openjdk-17-jre-headless -y
π‘ Verify installation using:
bashCopyEditjava -version
β If installed correctly, it should display:
plaintextCopyEditopenjdk version "17.x.x"
5. Download and Install Apache Druid

β Step 6: Download Apache Druid
Download the latest Apache Druid binary package from Apache:
bashCopyEditwget https://dlcdn.apache.org/druid/28.0.1/apache-druid-28.0.1-bin.tar.gz
β Step 7: Extract the Druid Archive
Unzip the downloaded package:
bashCopyEdittar -xzf apache-druid-28.0.1-bin.tar.gz
Move to the Druid installation directory:
bashCopyEditcd apache-druid-28.0.1
6. Start Apache Druid
β Step 8: Start the Druid Services
To start Apache Druid, run:
bashCopyEdit./bin/start-druid
π‘ Druid starts multiple services, including: β Coordinator β Manages data and segment distribution.
β Overlord β Handles ingestion tasks.
β Broker β Routes queries to data nodes.
β Historical β Stores and serves past data.
β MiddleManager β Handles real-time ingestion.
7. Access Apache Druid UI
β Step 9: Open Druid Web Console
Once Druid is running, access the web UI:
- Method 1: Open the browser and go to:arduinoCopyEdit
http://localhost:8888/ - Method 2: Use the Ctrl + Click option on the given terminal link.
8. Restarting Apache Druid
β Step 10: Restart Druid (If Needed)
If the Druid process stops or exits, restart it:
bashCopyEdit./bin/start-druid
π‘ Best Practice: Set up a background process to ensure Druid runs persistently.
9. Troubleshooting Installation Issues
| Issue | Possible Fix |
|---|---|
| Java Not Found | Reinstall Java 17: sudo apt install openjdk-17-jre-headless |
| WSL Not Recognized | Enable WSL using: wsl --install |
| Druid UI Not Loading | Check logs: tail -f var/sv/broker.log |
10. Conclusion
Apache Druid is a powerful real-time analytics database, and installing it on Windows via WSL makes it easier to use. By following this guide, you can set up, run, and manage Druid for real-time data processing.
β Key Takeaways
β Install WSL and Ubuntu 22.04 to run Druid on Windows.
β Use Java 17 (OpenJDK) for compatibility.
β Start Druid using ./bin/start-druid and access it via http://localhost:8888/.
β Automate startup for persistent deployments.
π‘ Are you using Apache Druid for analytics? Share your experience in the comments! π
Would you like a step-by-step video tutorial on setting up Druid?