Quick Start (Docker Compose)

This is the recommended setup method for getting started quickly with DataSuite ETL. Docker Compose orchestrates all services with a single command.

Why Choose Docker Compose?

✅ Advantages:

  • Fast Setup: Single command to start entire stack

  • Simplified Networking: Automatic service discovery and communication

  • Easy Management: Start, stop, and restart all services together

  • Consistent Environment: Same configuration across different machines

  • Beginner Friendly: Minimal configuration required

❌ Limitations:

  • Less control over individual service configuration

  • All services use default settings

  • Limited customization options

Step 1: Download MySQL JDBC Driver

First, create the directory structure and download the required MySQL connector:

# Create directory for LogStash drivers
mkdir -p logstash-drivers

# Download MySQL JDBC driver using Docker container
docker run --rm -v $(pwd)/logstash-drivers:/drivers alpine:latest \
  sh -c "apk add --no-cache wget && \
         wget -O /drivers/mysql-connector-java.jar \
         https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.9-rc/mysql-connector-java-8.0.9-rc.jar"

Expected Output:

Step 2: Create Docker Compose Configuration

Create docker-compose.yml in your project directory:

Step 3: Create LogStash Configuration

Create logstash.conf in your project directory:

Step 4: Start All Services

Launch the entire stack with a single command:

Expected Output:

Step 5: Load Sample Data

Once MySQL is running, load the AdventureWorks sample data:

Expected Output:

Step 6: Prepare ClickHouse

Create the required databases in ClickHouse:

Step 7: Monitor Service Status

Check that all services are running correctly:

Expected Output:

Step 8: Access Service UIs

Once everything is running, you can access the web interfaces:

ClickHouse Web Interface

  • URL: http://localhost:8123/play

  • Username: admin

  • Password: clickhouse123

Airflow Web Interface

  • URL: http://localhost:8080

  • Username: admin

  • Password: admin

MySQL (via command line)

Useful Management Commands

Service Management

Data Management

Resource Monitoring

Troubleshooting

Services Won't Start

LogStash Connection Issues

ClickHouse Access Issues

Next Steps

Your Docker Compose setup is now complete! Proceed to:

  1. Service Verification - Test that everything is working correctly

  2. LogStash Configuration - Customize data ingestion

  3. DBT Getting Started - Build your first data models

Advantages of This Setup

  • 🚀 Fast Deployment: Entire stack running in under 5 minutes

  • 🔗 Automatic Networking: Services can communicate without manual configuration

  • 📦 Consistent Environment: Same setup works across different operating systems

  • 🛠️ Easy Maintenance: Single commands for start, stop, update operations

  • 📊 Complete Stack: All necessary services included and pre-configured

This Docker Compose setup provides a solid foundation for learning and development. When you're ready for more advanced configurations, consider the individual containers setup for greater flexibility.

Last updated