(光速上手)Docker搭建kafka单机版

kafka运行依赖于zookeeper,所以要先搭建zookeeper!

1.启动zookeeper服务

docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper

2.启动kafka服务

记得修改命令中的zookeeper的ip地址和kafka所在的主机ip地址

docker run -d --name kafka  --publish 9092:9092 --link zookeeper  --env KAFKA_ZOOKEEPER_CONNECT=172.18.12.182:2181 --env KAFKA_ADVERTISED_HOST_NAME=172.18.12.182 --env KAFKA_ADVERTISED_PORT=9092  --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest
解释:
docker run -d --name kafka 
--publish 9092:9092 // 端口绑定
--link zookeeper // 连接zookeeper
--env KAFKA_ZOOKEEPER_CONNECT=172.18.12.182:2181 // 配置zookeeper的地址+ip
--env KAFKA_ADVERTISED_HOST_NAME=172.18.12.182 // 主机地址
--env KAFKA_ADVERTISED_PORT=9092 // kafka的ip
--volume /etc/localtime:/etc/localtime // 本地磁盘挂载
wurstmeister/kafka:latest // 镜像名字

3.测试

进入容器并且启动发送方和消费者
1.进入kafka容器

docker exec -it kafka /bin/bash

2.创建名为test的主题(topic)

bin/kafka-topics.sh --create --zookeeper 172.18.12.182:2181 --replication-factor 1 --partitions 1 --topic test

3.打开消费者—开始监听消费消息

bin/kafka-console-consumer.sh --bootstrap-server 172.18.12.182:9092 --topic test --from-beginning

4.新打开一个ssh窗口,进入容器,打开消息发送者,发送消息

kafka-console-producer.sh --broker-list 172.18.12.182:9092 --topic test

在这里插入图片描述

此时消费方已经能接受到发送方发的消息了,搭建成功!!!

在这里插入图片描述

附:搭建UI监控—kafka-eagle,颜值还可以哦~

在这里插入图片描述
1.下载安装包

wget https://github.com/smartloli/kafka-eagle-bin/archive/v1.3.7.tar.gz

2.解压并且修改配置文件conf/system-config.properties

配置zookeeper
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=192.168.10.14:2181
配置端口
kafka.eagle.webui.port=10092
配置数据库
kafka.eagle.driver=com.mysql.jdbc.Driver
kafka.eagle.url=jdbc:mysql://rm-wz9p90b2992j8b4e2xo.mysql.rds.aliyuncs.com:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
kafka.eagle.username=k8sadmin
kafka.eagle.password=xxxxxxx

3.配置linux环境变量PATH

vi /etc/profile
#java home
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export JAVA_HOME=/usr/java-jdk-home/jdk1.8.0_211
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

#kafka home
export KE_HOME=/huanglei/sofrware/kafka-eagle
export PATH=$PATH:$KE_HOME/bin:$JAVA_HOME/bin

4.授权并且启动,成功后会打印出用户名密码 url等

chmod 777 *
bin/ke.sh start stop 

5.登录(默认)

*用户名:admin 
*密  码:123456

在这里插入图片描述

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
回答: Docker搭建kafka集群的过程可以参考以下步骤。首先,需要依赖zookeeper来管理kafka集群的状态和元数据。因此,在搭建kafka集群之前,需要先搭建一个zookeeper集群。可以使用Docker创建一个新的网络,并在该网络上启动一个zookeeper集群。接下来,创建一个docker-compose文件(例如docker-compose-zk.yml),在该文件中定义zookeeper集群的配置和启动参数。然后,使用docker-compose命令启动zookeeper集群。接下来,创建一个新的docker-compose文件(例如docker-compose-kafka.yml),在该文件中定义kafka集群的配置和启动参数。在这个文件中,需要挂载一些文件,这些文件包括kafka的配置文件和数据目录。挂载这些文件的目的是为了保留kafka集群的状态和数据。最后,使用docker-compose命令启动kafka集群。在集群启动后,可以安装kafka-manager来管理kafka集群。可以创建一个新的docker-compose文件(例如docker-compose-kafka-manager.yml),在该文件中定义kafka-manager的配置和启动参数。使用docker-compose命令启动kafka-manager。配置kafka-manager连接到kafka集群,并进行测试。\[1\] 在搭建过程中,可能会遇到一些问题。例如,如果之前已经安装过旧本的docker,可能会导致安装新docker时出现冲突的错误。解决这个问题的方法之一是使用wget命令下载docker-ce.repo文件,并将其放置在/etc/yum.repos.d/目录下。这样可以更新docker的安装源,然后重新安装docker。\[2\]\[3\] #### 引用[.reference_title] - *1* [Docker搭建kafka集群](https://blog.csdn.net/weixin_48412846/article/details/128724377)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [docker搭建kafka集群](https://blog.csdn.net/fxh13579/article/details/81299185)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值