首页 > 其他分享 >Docker安装使用Kafka

Docker安装使用Kafka

时间:2023-02-10 13:55:11浏览次数:55  
标签:-- zookeeper server kafka Docker Kafka 安装 docker

通过Docker拉取镜像的方式进行安装

照例先去DockerHub找一下镜像源,看下官方提供的基本操作(大部分时候官方教程比网上的要清晰一些,并且大部分教程可能也是翻译的官方的操作步骤,所以直接看官方的就行)

老实说Kafka的参数配置项太多了,比较繁琐。

如果是Linux环境下打算直接用官方提供的docker-compose直接读取yml配置文件了

docker-compose.yml

version: "3"
services:
  zookeeper:
    image: 'bitnami/zookeeper:latest'
    ports:
      - '2181:2181'
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
  kafka:
    image: 'bitnami/kafka:latest'
    ports:
      - '9092:9092'
    environment:
      - KAFKA_BROKER_ID=1
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
    depends_on:
      - zookeeper

直接运行即可

docker-compose up -d

官网同时还提供了Kafka without Zookeeper (KRaft)的配置方式

WIn10可以在Docker容器内部通过挂载配置文件,继续用上面的方式,但我这里决定用繁琐的方式一步步来

拉取Zookeeper和Kafka镜像(可拉取最新版本,但我喜欢通过tags挑一个)

docker pull zookeeper:3.8
docker pull bitnami/kafka:3.1

在Docker容器内创建网络(连通Zookeeper和Kafka)

app-tier:网络名称
–driver:网络类型为bridge

docker network create app-tier --driver bridge

启动Zookeeper节点

在Docker run命令里加上--network app-tier,让Zookeeper容器启动后连接上创建的网络(并且允许匿名登陆)

docker run -d --name zookeeper-server --network app-tier -e ALLOW_ANONYMOUS_LOGIN=yes zookeeper:3.8

启动kafka服务端

同样的方式,让Kafka服务端节点也连上这个网络

docker run -d --name kafka-server --network app-tier -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 bitnami/kafka:3.1  

注意:

KAFKA_ADVERTISED_HOST_NAME为当前主机IP或地址(重点:如果是服务器部署则配服务器IP或域名否则客户端监听消息会报地址错误)

kafka 节点启动后,会向 zookeeper 注册自己,同时告诉 zookeeper 自身的通信地址,这个地址就是配置文件中的 advertised.listeners,如果没有配置 advertised.listeners,就会使用listeners

启动Kafka客户端

Finally we create a new container instance to launch the Apache Kafka client and connect to the server created in the previous step:

docker run -it --rm --network app-tier -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 bitnami/kafka:3.1 kafka-topics.sh --list --bootstrap-server kafka-server:9092

Producer and consumer using external client

These clients, from the same host, will use localhost to connect to Apache Kafka.

#生产者创建Topic 
kafka-console-producer.sh --bootstrap-server 127.0.0.1:9092 --topic test
#消费者接收消息
kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic test --from-beginning

最后发送个经典的Hello World做为测试

kafka-server

image-20230210000517812

kafka-client

image-20230210001158532

最后推荐一个kafka的图形化管理工具
kafka-map

访问地址:http://服务器IP:9001/  #端口号看自己喜好修改映射
DEFAULT_USERNAME:默认账号admin
DEFAULT_PASSWORD:默认密码admin
GitHub地址:https://github.com/dushixiang/kafka-map/blob/master/README-zh_CN.md
Gitee地址 https://gitee.com/dushixiang/kafka-map

拉取镜像

docker pull dushixiang/kafka-map:latest

启动运行

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
image-20230209234854965

标签:--,zookeeper,server,kafka,Docker,Kafka,安装,docker
From: https://www.cnblogs.com/ride0nTime/p/17108641.html

相关文章

  • Linux系列 -- XShell破解版安装教程
    原:https://www.cnblogs.com/bowendown/p/11937159.html#一xshell6商业版安装教程目录一、xshell6商业版安装教程1.为什么要用xshell2.打开Keygen软件获取注册码3......
  • docker安装与命令
    转自:https://blog.csdn.net/qq_60750453/article/details/128312453守护进程重启:systemctldaemon-reload重启Docker服务:systemctlrestartdocker/servicedockerre......
  • Dockerfile构建镜像
    一、构建Apache镜像cd/opt/#建立工作目录mkdir/opt/apachecdapache/vimDockerfile#基于的基础镜像FROMcentos:7#维护镜像的用户信息MAINTAINERthisisa......
  • Docker-compose
    一、Docker-compose简介Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是工程(project),服务......
  • Docker搭建LNMP+wordpress
    一、项目模拟1.项目环境公司在实际的生产环境中,需要使用Docker技术在一台主机上创建LNMP服务并运行Wordpress网站平台。然后对此服务进行相关的性能调优和管理工......
  • docker容器磁盘空间查看命令和清理删除没有使用容器的命令和方法
    【问题描述】在服务器上面启动MQTT服务的时候,一直失败,之前是可以正常启动成功的。  【原因描述】开始以为是服务本地的问题或者是依赖包的问题,但是该安装包并没有......
  • 基于Linux的DockerFile添加中文字体
    FROMopenjdk:8u332-oraclelinux7#RUNsed-i's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g'/etc/apk/repositories#RUNapkadd--updatefont-adobe-100dpittf......
  • 安装Ubuntu系统到中国移动电视盒子
    根据B站的视频资料,貌似这个盒子的性价比要比树莓派高一些,所以做了这个安装实验。新年伊始,armbian库也加紧升级,感觉大家都在想尽一切办法告别3年疫情给大家带来的伤害。......
  • Vue cli 安装
    1.安装Node.js2.配置npm源  npmconfigsetregistryhttps://registry.npmmirror.com当配置成功后,可通过get命令可查看npm源:npmconfiggetregistry......
  • 在jetson上 安装zed sdk
      就两步:1.安装jetpack包2.安装zedsdk 一、.安装jetpack用的是sdkmanager管理工具安装文档:使用SDKManager安装Jetson软件::NVIDIASD......