1、安装zookeeper
1.1拉取镜像
docker pull wurstmeister/zookeeper
1.2 启动镜像
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
1.3 开通阿里云服务器2181端口
2、安装kakfa
2.1 拉取镜像
docker pull wurstmeister/kafka
2.2 启动镜像
docker run -d --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=服务器公网ip:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://服务器公网ip:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
3.3 开通阿里云服务器9092端口
3、测试kafa是否安装成功
3.1 查看是否启动成功
~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
12c448686430 wurstmeister/kafka "start-kafka.sh" 20 minutes ago Up 20 minutes 0.0.0.0:9092->9092/tcp kafka
b059e0b42b5b wurstmeister/zookeeper "/bin/sh -c '/usr/..." 39 minutes ago Up 39 minutes 22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp zookeeper
3.2 验证kafka是否可以使用
docker exec -it kafka /bin/bash
3.2.1 启动失败
如出现You have to remove (or rename) that container to be able to reuse that name.使用docker ps 时查看发现没有运行,使用 docker ps -l 查看未启动成功的容器,使用docker rm 容器id删除未启动成功的容器
3.2.2 启动成功
bash-4.4#
3.3 进入kafa脚本目录,opt下kafka_相应目录
bash-4.4# cd /opt/kafka_2.13-2.7.0/bin/
bash-4.4# ls
connect-distributed.sh kafka-console-producer.sh kafka-leader-election.sh kafka-run-class.sh trogdor.sh
connect-mirror-maker.sh kafka-consumer-groups.sh kafka-log-dirs.sh kafka-server-start.sh windows
connect-standalone.sh kafka-consumer-perf-test.sh kafka-mirror-maker.sh kafka-server-stop.sh zookeeper-security-migration.sh
kafka-acls.sh kafka-delegation-tokens.sh kafka-preferred-replica-election.sh kafka-streams-application-reset.sh zookeeper-server-start.sh
kafka-broker-api-versions.sh kafka-delete-records.sh kafka-producer-perf-test.sh kafka-topics.sh zookeeper-server-stop.sh
kafka-configs.sh kafka-dump-log.sh kafka-reassign-partitions.sh kafka-verifiable-consumer.sh zookeeper-shell.sh
kafka-console-consumer.sh kafka-features.sh kafka-replica-verification.sh kafka-verifiable-producer.sh
bash-4.4#
3.4 运行kafka生产者发送消息
bash-4.4# ./kafka-console-producer.sh --broker-list 服务器公网ip:9092 --topic test
>123
3.5 新打开一个终端用于接收生产者发送的消息
~]# docker exec -it kafka /bin/bash
bash-4.4# cd /opt/kafka_2.13-2.7.0/bin/
bash-4.4# ./kafka-console-consumer.sh --bootstrap-server 服务器公网IP:9092 --topic test --from-beginning
123
3.6 消息接收成功,kafa安装成功,ctrl+c 退出