If the start script does not complete successfully, please go through the following troubleshooting steps.


  1. Verify that the status of all the Docker containers show Up state.

    docker-compose ps
  2. In the advanced Docker preferences settings, verify the following resources are allocated to Docker:

    • Memory: at least 8 GB (default is 2 GB)
    • CPU cores: at least 2 cores
  3. Verify you have not run out of disk storage needed for Docker’s “disk image” file (Docker documentation).


  1. If the script errors out before completing, or if there are Docker containers that are not in Up state, view the container’s logs with the command docker-compose logs [container] and look for error messages and exceptions.

    docker-compose logs
  2. If there are any errors that indicate issues with TLS communication, verify that the TLS certificates were properly generated and that there are no errors in the following files:

    ls scripts/security/*.log


  1. If there are any errors that indicate issues with TLS communication, force TLS certificates to be regenerated by starting the script with CLEAN=true:

    CLEAN=true ./scripts/
  2. If a command that communicates with ZooKeeper appears to be failing with the error org.apache.zookeeper.KeeperException$NoAuthException, change the container you are running the command from to be either kafka1 or kafka2. This is because ZooKeeper is configured for SASL/DIGEST-MD5, and any commands that communicate with ZooKeeper need properties set for ZooKeeper authentication.


  1. Verify there are messages in the Kafka topics, including wikipedia.parsed:

  2. Run the validation scripts to verify that they pass.

    cd scripts/validate/

CLI Login

  1. If you are running cp-demo for a long time and issuing Confluent CLI commands on the tools container that error out with:

    Your token has expired. You are now logged out.
    Error: You must log in to run that command.

    Then run the following command, which refreshes the token by logging back in to MDS: