Troubleshooting

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

Docker

  1. Upon startup, if the output is similar to below, it is possible that the environment is not supported or cp-demo was not started properly. Please read the pre-requisites and follow proper instructions at Module 1.

    WARNING: The REPOSITORY variable is not set. Defaulting to a blank string.
    WARNING: The SSL_CIPHER_SUITES variable is not set. Defaulting to a blank string.
    WARNING: The CONNECTOR_VERSION variable is not set. Defaulting to a blank string.
    WARNING: The CONTROL_CENTER_KSQL_WIKIPEDIA_URL variable is not set. Defaulting to a blank string.
    WARNING: The CONTROL_CENTER_KSQL_WIKIPEDIA_ADVERTISED_URL variable is not set. Defaulting to a blank string.
    Pulling zookeeper (/cp-zookeeper:6.1.0)...
    ERROR: invalid reference format
    
  2. Verify that the status of all the Docker containers show Up state.

    docker-compose ps
    
  3. 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
  4. Verify you have not run out of disk storage needed for Docker’s “disk image” file (Docker documentation).

Logs

  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
    

Security

  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/start.sh
    
  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.

Validate

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

    ./scripts/consumers/listen.sh
    
  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:

    ./scripts/helper/refresh_mds_login.sh