とりあえず kafka
kafka in docker
何も知らない状態からkafka in dockerを試す ↑のエントリ見て楽そうだったのでとりあえずやってみたが、失敗した。
Kafka in Docker この2年更新されていないので、大丈夫だよな。。。
docker run
# docker run -p 2181:2181 -p 9092:9092 --env ADVERTISED_HOST=`docker-machine ip \`docker-machine active\`` --env ADVERTISED_PORT=9092 --name test_kafka spotify/kafka # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7ff7f4bcedc4 spotify/kafka "supervisord -n" 13 seconds ago Up 12 seconds 0.0.0.0:2181->2181/tcp, 0.0.0.0:9092->9092/tcp test_kafka
コンテナの kafka ディレクトリに入る。ここにスクリプトがまとまっている。
# docker exec -it test_kafka bash # ls /opt kafka ディレクトリ 確認 # cd /opt/kafka_2.11-0.10.1.0 # ls bin connect-distributed.sh kafka-replica-verification.sh connect-standalone.sh kafka-run-class.sh kafka-acls.sh kafka-server-start.sh kafka-configs.sh kafka-server-stop.sh kafka-console-consumer.sh kafka-simple-consumer-shell.sh kafka-console-producer.sh kafka-streams-application-reset.sh kafka-consumer-groups.sh kafka-topics.sh kafka-consumer-offset-checker.sh kafka-verifiable-consumer.sh kafka-consumer-perf-test.sh kafka-verifiable-producer.sh kafka-mirror-maker.sh windows kafka-preferred-replica-election.sh zookeeper-security-migration.sh kafka-producer-perf-test.sh zookeeper-server-start.sh kafka-reassign-partitions.sh zookeeper-server-stop.sh kafka-replay-log-producer.sh zookeeper-shell.sh
Step 3: Create a topic
ここから quickstart を参照。 --bootstrap-server でやってたがうまくいかないので、zookeeper でやっている。
トピック確認。まだない。
# bin/kafka-topics.sh --list --zookeeper localhost:2181
トピック作成
# bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test Created topic "test".
トピック確認
# bin/kafka-topics.sh --list --zookeeper localhost:2181 test
トピック describe
# bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test Topic:test PartitionCount:1 ReplicationFactor:1 Configs: Topic: test Partition: 0 Leader: 0 Replicas: 0 Isr: 0
Step 4: Send some messages
ここからなんだかうまくいかない。こんどはdocker でないところで試す。
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test