Links
Comment on page

Run the Agent Locally

Instructions on how to run the WarpStream Agent locally for testing / development purposes.
First, install the WarpStream Agent for your platform.
Once you've installed the WarpStream Agent, you can run one command to start both the Kinesis- and Kafka-compatible servers.

Docker

x86
docker run -p 8080 -p 9092:9092 public.ecr.aws/warpstream-labs/warpstream_agent:latest playground
arm
docker run -p 8080 -p 9092:9092 public.ecr.aws/warpstream-labs/warpstream_agent:latest playground
This will start both servers and print the ports they're running on for your reference.
The playground stores data in memory only by default, so any data written will no longer be accessible once the process exits.
The WarpStream Agents have to advertise their hostname as part of service discovery in the Kafka protocol. By default it in playground it uses the local strategy instructs the Agents to report localhost as their hostname. However, in production environment like ECS or Kubernetes, you'll like want to use the auto-ip4 strategy - which is the default when you run it in agent mode - so that the Agents will automatically discover and advertise their internal IP address with the advertiseHostnameStrategyflag.
Once the docker container is running, you're ready to rock and roll. You can now run any application locally that expects to connect to Kafka, and it'll connect to WarpStream instead if you set the bootstrap URL to localhost:9092.
If you run into any issues connecting an application running outside of the Docker to the WarpStream agent running inside of docker, follow our instructions below for diagnosing connection issues.

Standalone Binary

Alternatively, if you installed the standalone WarpStream Agent binary and its in your PATH, you can just run:
warpstream playground
This will start both servers and print the ports they're running on for your reference.
The playground stores data in memory only by default, so any data written will no longer be accessible once the process exits.
Once that completes, run the following command to test the connection:
warpstream kcmd -type diagnose-connection -bootstrap-host localhost -bootstrap-port 9092
If that succeeds, then you're ready to rock and roll. You can now run any application locally that expects to connect to Apache Kafka, and it'll connect to WarpStream instead if you set the bootstrap URL to localhost:9092.
If you the diagnostic command returns an error, follow the provided instructions to diagnose and fix.

Diagnosing Connection Issues

The WarpStream Agent binary ships with a utility for diagnosing connection issues. However, diagnosing connection issues cannot be done in a general purpose manner from within a Docker container. Therefore even if you're running the Agent in a Docker container locally, you'll need to follow our "Installation Script" Agent installation instructions to install the raw WarpStream Agent binary locally before proceeding.
Once the binary is installed, run the following command to test the connection:
warpstream kcmd -type diagnose-connection -bootstrap-host localhost -bootstrap-port 9092
If that succeeds, then you're ready to rock and roll. You can now run any application locally that expects to connect to Apache Kafka, and it'll connect to WarpStream instead if you set the bootstrap URL to localhost:9092.
If you the diagnostic command returns an error, follow the provided instructions to diagnose and fix.
Apache, Apache Kafka, Kafka, and associated open source project names are trademarks of the Apache Software Foundation. Kinesis is a trademark of Amazon Web Services.