marcel-dempers 6c51b181fc kafka wip
2021-04-19 07:51:15 +10:00

60 lines
1.9 KiB
Markdown

# Notes
https://hub.docker.com/_/openjdk?tab=description&page=1&ordering=last_updated&name=alpine
https://www.digitalocean.com/community/tutorials/how-to-install-apache-kafka-on-debian-10
# Building a Docker file
docker run --rm --name kafka -it kafka bash
docker run --rm -it kafka bash -c "ls -l /kafka/"
docker run --rm -it kafka bash -c "cat ~/kafka/config/server.properties"
docker run --rm -it kafka bash -c "ls -l ~/kafka/bin"
docker cp kafka:/kafka/config/server.properties ./server.properties
docker cp kafka:/kafka/config/zookeeper.properties ./zookeeper/zookeeper.properties
# Kafka
docker network create kafka
docker run -it --rm --name kafka --net kafka -v ${PWD}/server.properties:/kafka/config/server.properties kafka
# Zookeeper
docker run -it --rm --name zookeeper --net kafka zookeeper
# Topic
docker exec -it kafka bash
/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic TutorialTopic
# Producer
echo "Hello, World" | /kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic TutorialTopic > /dev/null
# Consumer
/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic TutorialTopic --from-beginning
# Build an Application: Producer
https://docs.confluent.io/clients-confluent-kafka-go/current/overview.html#go-installation
```
cd messaging/kafka/applications/producer
docker run -it --rm -v ${PWD}:/app -w /app golang:1.15-alpine
apk -U add ca-certificates && \
apk update && apk upgrade && apk add pkgconf git bash build-base && \
cd /tmp && \
git clone https://github.com/edenhill/librdkafka.git && \
cd librdkafka && \
git checkout v1.6.1 && \
./configure --prefix /usr && make && make install
#apk add --no-cache git make librdkafka-dev gcc musl-dev librdkafka
go mod init producer
go get gopkg.in/confluentinc/confluent-kafka-go.v1/kafka
```