【NO-1】创建一个 network
docker network create app-tier --driver bridge
【NO-2】安装zookeeper
docker run -d --name zookeeper-server \
-p 2181:2181 \
--network app-tier \
-e ALLOW_ANONYMOUS_LOGIN=yes \
bitnami/zookeeper:latest
【NO-3】install kafka
(1)容器0
docker run -d --name kafka0 \
--network app-tier \
-p 9092:9092 \
-e KAFKA_BROKER_ID=1 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.43.37:9092 \
bitnami/kafka:latest
(2)容器1
docker run -d --name kafka1 \
--network app-tier \
-p 9093:9092 \
-e KAFKA_BROKER_ID=2 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.43.37:9093 \
bitnami/kafka:latest
(3)容器2
docker run -d --name kafka2 \
--network app-tier \
-p 9094:9092 \
-e KAFKA_BROKER_ID=3 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.43.37:9094 \
bitnami/kafka:latest
【NO-4-1】安装 kafka-map
目前关于Docker安装Kafka Eagle没有什么特别出名的镜像,只有nickzurich/efak这个镜像可以考虑下,但这个的收欢迎程度不是很高,所以也少用一点,仅了解一下就可以。
第一步:使用下述命令拉取最新的nickzurich/efak镜像
docker pull nickzurich/efak:latest
第二步:使用下述命令启动容器
docker run -d --name kafka-eagle -p 8048:8048 -e EFAK_CLUSTER_ZK_LIST="192.168.1.75:2181" nickzurich/efak:latest
EFAK_CLUSTER_ZK_LIST:配置的是zookeeper服务的地址
第三步:浏览器中访问下述地址,其默认账号/密码为admin/123456
http://127.0.0.1:8048/topic/list
【NO-4-2】 安装 kafka-map 用4-1 这个可以不用
docker run -d --name kafka-map \
--network app-tier \
-p 9001:8080 \
-v /opt/kafka-map/data:/usr/local/kafka-map/data \
-e DEFAULT_USERNAME=admin \
-e DEFAULT_PASSWORD=admin \
--restart always dushixiang/kafka-map:latest
拓展
–进入kafka的bin目录(/opt/bitnami/kafka/bin) topics指令 连接kafka 主题:主题名 分区 副本
kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --create --topic first --partitions 1 --replication-factor 1
//创建主题
kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --create --topic first --partitions 3 --replication-factor 2
//查看全部主题
kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --list
kafka-topics.sh --bootstrap-server 127.0.0.1:9093 --list
kafka-topics.sh --bootstrap-server 192.168.43.37:9092 --list
//查看主题描述
kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --describe --topic first
kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --describe --topic test
kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --describe --topic testdog
//修改 增加分区 往多了改
kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --alert --topic testdog --partitions 4
//删除
kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --delete --topic firstT
生产者和消费者
生产者
//生产者连接进入主题
kafka-console-producer.sh --bootstrap-server 127.0.0.1:9092 --topic firstT
//消费者消费主题 -消费当前
kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic firstT
//消费者消费主题 -消费从开始的数据
kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic firstT --from-beginning
//分区内有序 分区间无序