0


【Linux】Docker安装kafka教程(超详细保姆篇)

在这里插入图片描述

文章目录

更多相关内容可查看

注:本篇默认已有服务器或虚拟机,并

已安装Docker

若虚安装Docker请移步【CentOS7】Linux安装Docker教程(保姆篇)

安装

1.安装Zookeeper

在 Apache Kafka 中,ZooKeeper 主要用于以下几个方面:

  • 保存和管理 Kafka 集群的元数据信息。例如,Kafka 集群中的 Broker 信息、Topic 和 Partition 的信息、Consumer 的偏移量信息等。
  • Kafka 集群的选举服务。当 Kafka 集群中的某个或某些 Broker 宕机时,ZooKeeper 可以协助 Kafka 集群选举出新的 Leader Broker。
  • Kafka 集群的状态监控。ZooKeeper 可以监控 Kafka 集群中各个 Broker 的在线状态,并及时通知 Kafka 集群进行相应的处理。

因此,如果你要在 Docker 中运行 Kafka,你也需要运行 ZooKeeper。

docker pull wurstmeister/zookeeper

安装成功效果图

在这里插入图片描述

2.安装kafka

docker pull wurstmeister/kafka

成功效果图
在这里插入图片描述

3.创建zookeeper容器

docker run -d--name zookeeper -p2181-t wurstmeister/zookeeper

成功效果图
在这里插入图片描述

4.创建kafka容器

docker run -d--name kafka --publish9092:9092 --link zookeeper --envKAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --envKAFKA_ADVERTISED_HOST_NAME=127.0.0.1 --envKAFKA_ADVERTISED_PORT=9092--volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest

成功效果图
在这里插入图片描述

5.测试kafka

dockerexec-it kafka /bin/bash

解析命令:

  • docker exec:这是Docker的一个命令,用于在运行的Docker容器中执行命令。
  • -it:这是两个选项的组合。-i 选项让Docker的输入保持打开,-t 选项让Docker分配一个伪终端(pseudo-tty)。
  • kafka:这是你要在其中执行命令的Docker容器的名称。
  • /bin/bash:这是你要在Docker容器中执行的命令。在这个例子中,你是在打开一个bash shell。

成功效果图
在这里插入图片描述

6.退出bash shell

exit

成功效果图
在这里插入图片描述

Zookeeper服务启动

1.首先找到Zookeeper安装路径

find / -name kafka-topics.sh

成功效果图

在这里插入图片描述

2.执行./zkServer.sh start

如果出现最后一行则表示启动成功,但是会发现找不到zoo.cfg文件,如果不报这个可以直接跳过

./zkServer.sh start

成功效果图
在这里插入图片描述
进入安装zookeeper的config文件

cd /var/lib/docker/overlay2/80f2f1635bed9db5db5e5697053485db509c413aef6a5a6a3264330a7f53e8b4/diff/opt/zookeeper-3.4.13/conf/

将里面的zoo_xxx.cfg文件更名为zoo.cfg就可以了,当然也可以去改启动文件这里就不详细展开了
可看以下最后启动成功效果图

在这里插入图片描述

3.查看运行状态

该状态显示:以standalone模式运行。standalone模式意味着你只运行了一个Zookeeper服务器实例,而不是一个Zookeeper集群

./zkServer.sh status

在这里插入图片描述

3.集群配置(可不阅)

如果你需要运行一个Zookeeper集群,你需要在

zoo.cfg

配置文件中添加更多的

server.X

参数,并且为每个Zookeeper服务器实例指定一个唯一的ID。

然而,如果你只是在本地进行测试或者开发,standalone模式应该就足够了。现在你可以开始启动你的Kafka服务了。

kafka服务启动

1.进入kafka的config目录

如果不知道自己的kafka的安装路径,执行以下命令查找

find / -name kafka-topics.sh

成功效果图
在这里插入图片描述
进入到你查出来的kafka-topics.sh路径的上一个bin路径在进入config目录

cd /var/lib/docker/overlay2/8244efe326332818bd6b780a6333a2af67b2731cf32ded8a9e72f2179c7bb7d6/diff/opt/kafka_2.13-2.8.1/config
ll

成功效果图

在这里插入图片描述

2.修改server.properties

找到config文件下的server.properties并进行修改端口,保存
在这里插入图片描述

3.执行kafka-server-start.sh 命令

我这里为了保险起见,用的是kafka-server-start.sh 的全路径,跟server.properties的全路径
/var/lib/docker/overlay2/8244efe326332818bd6b780a6333a2af67b2731cf32ded8a9e72f2179c7bb7d6/diff/opt/kafka_2.13-2.8.1/bin/kafka-server-start.sh /var/lib/docker/overlay2/8244efe326332818bd6b780a6333a2af67b2731cf32ded8a9e72f2179c7bb7d6/diff/opt/kafka_2.13-2.8.1/config/server.properties

成功示例
在这里插入图片描述

4.测试zookeeper跟kafka是否启动成功

QuorumPeerMain为zookeeper服务
Kafka为kafka服务

jps

在这里插入图片描述

生产消费示例(可不阅)

1.到kafka的bin目录下创建一个主题

./kafka-topics.sh --create--zookeeper zookeeper:2181 --replication-factor 1--partitions1--topic mykafka 
# --create 创建一个主题# --zookeeper 连接zookeeper# --replication-factor kafka副本数# --partitions kafka分区数# --topic mykafka 主题名称

成功示例
在这里插入图片描述

kafka启动成功但是无法连接zookeeper解决

1.进入/etc/hosts 加上最后一行,192.168.x.x zookeeper。代表将将主机名映射到IP地址
在这里插入图片描述
2.检查zookeeper连接是否是本地,并重新试一下
在这里插入图片描述

2.启动一个生产者,指定topic为刚刚创建的主题mykafka

/kafka-verifiable-producer.sh --broker-list localhost:9092 --topic mykafka 

如果这个命令报

找不到kafka-verifiable-producer.sh

,但是你发现当前路径有这个kafka-verifiable-producer.sh,那就用全路径重新执行,你的全路径在上文已经find过了

/var/lib/docker/overlay2/8244efe326332818bd6b780a6333a2af67b2731cf32ded8a9e72f2179c7bb7d6/diff/opt/kafka_2.13-2.8.1/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mykafka

成功示例
在这里插入图片描述

3.重新打开一个连接页面到bin目录下启动一个消费者

./kafka-console-consumer.sh --topic mykafka --bootstrap-server 192.xxx.xxx.xxx:9092

以上同理如果找不到则使用全路径

/var/lib/docker/overlay2/8244efe326332818bd6b780a6333a2af67b2731cf32ded8a9e72f2179c7bb7d6/diff/opt/kafka_2.13-2.8.1/bin/kafka-console-consumer.sh --topic mykafka --bootstrap-server 192.168.xxx.xxx:9092

如果配置文件配置的localhost,则使用进行测试

./kafka-console-consumer.sh --topic mykafka --bootstrap-server localhost:9092

成功效果图

生产者

在这里插入图片描述

消费者
在这里插入图片描述

成功啦!!!!

标签: linux docker kafka

本文转载自: https://blog.csdn.net/Aaaaaaatwl/article/details/139861756
版权归原作者 来一杯龙舌兰 所有, 如有侵权,请联系我们删除。

“【Linux】Docker安装kafka教程(超详细保姆篇)”的评论:

还没有评论