Quick start¶
Word-count¶
Word-count is a demo pipeline consisting of a producer producing words to Kafka, a Kafka streams app counting the number of times each word occurs, and finally a Redis database into which the words are exported.
What this will demonstrate¶
- Deploying a Redis database using Helm
- Deploying a pipeline using KPOps
- Destroying a pipeline using KPOps
Prerequisites¶
Completed all steps in the setup.
Setup and deployment¶
Redis¶
Deploy Redis using the Bitnami Helm chart: Add the Helm repository:
Install Redis with Helm:
Redis example Helm chart values (values-redis.yaml
)
Word-count example pipeline setup¶
Port forwarding¶
Before we deploy the pipeline, we need to forward the ports of kafka-rest-proxy
and kafka-connect
.
Run the following commands in two different terminals.
Deploying the Word-count pipeline¶
-
Clone the kpops-examples repository and
cd
into the directory. -
Install KPOps
pip install -r requirements.txt
. -
Export environment variables in your terminal:
-
Deploy the pipeline
Note
You can use the --dry-run
flag instead of the --execute
flag and check the logs if your pipeline will be
deployed correctly.
Check if the deployment is successful¶
You can use the Streams Explorer to inspect the deployed pipeline. To do so, port-forward the service in a separate terminal session using the command below:
After that open http://localhost:8080 in your browser.
You should be able to see pipeline shown in the image below:
Attention
Kafka Connect needs some time to set up the connector. Moreover, Streams Explorer needs a while to scrape the information from Kafka Connect. Therefore, it might take a bit until you see the whole graph.
Teardown resources¶
Redis¶
Redis can be uninstalled by running the following command:
Word-count pipeline¶
-
Export environment variables in your terminal.
-
Remove the pipeline
Note
You can use the --dry-run
flag instead of the --execute
flag and check the logs if your pipeline will be
destroyed correctly.
Attention
If you face any issues destroying this example see Teardown for manual deletion.
Common errors¶
deploy
fails:- Read the error message.
- Try to correct the mistakes if there were any. Likely the configuration is incorrect, or the port-forwarding is not working as intended.
- Run
clean
. - Run
deploy --dry-run
to avoid having toclean
again. If an error is dropped, start over from step 1. - If the dry-run is successful, run
deploy
.
clean
fails:- Read the error message.
- Try to correct the indicated mistakes if there were any. Likely the configuration is incorrect, or the port-forwarding is not working as intended.
- Run
clean
. - If
clean
fails, follow the steps in teardown.