当前位置: 首页 > news >正文

docker部署kafka实战

目录

一、部署kafaka、zookeeper

二、测试信息发送与接收

三、kafka进阶


一、部署kafaka、zookeeper

请提前安装docker、docker-compose

安装docker:docker--安装docker-ce-CSDN博客

安装docker-compose: 安装docker-compose_安装 docker-compose-CSDN博客

docker-compose部署,建议用docker-compose部署而不是单容器部署,快速便捷。(yml文件:docker部署kafka的方法步骤_docker_脚本之家)

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    volumes:
      - ./data:/data
    ports:
      - "2181:2181"
       
  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME:127.0.0.1
      KAFKA_MESSAGE_MAX_BYTES: 2000000
      KAFKA_CREATE_TOPICS: "Topic1:1:3,Topic2:1:1:compact"
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - ./kafka-logs:/kafka
      - /var/run/docker.sock:/var/run/docker.sock
 
  kafka-manager:
    image: sheepkiller/kafka-manager
    ports:
      - 9020:9000
    environment:
      ZK_HOSTS: zookeeper:2181

设置容器运行机制为自启动

#docker update --restart=always 容器名/容器ID
[root@kafka_50 ~]# docker update --restart=always e398ce29cbd2 f0ef33856875 e06af2230915

重启虚拟机kafka-manage无法启动,docker logs 容器名,查看容器日志,发现报错This application is already running (Or delete /kafka-manager-1.3.1.8/RUNNING_PID file).
,提示kafka已经运行或者需要删除RUNNING_PID文件需要,find命令找并删除RUNNING_PID文件。

[root@kafka_50 ~]# find / -name RUNNING_PID
/var/lib/docker/overlay2/1ac3b62babe69290c14730892564d317e4dc4c443d298d6804ab20290cb48c80/diff/kafka-manager-1.3.1.8/RUNNING_PID
[root@kafka_50 ~]# rm -rf /var/lib/docker/overlay2/1ac3b62babe69290c14730892564d317e4dc4c443d298d6804ab20290cb48c80/diff/kafka-manager-1.3.1.8/RUNNING_PID

二、测试信息发送与接收

查看容器信息,注意容器名

[root@kafka_50 ~]# docker ps
CONTAINER ID        IMAGE                       COMMAND                  CREATED             STATUS              PORTS                                                NAMES
e398ce29cbd2        wurstmeister/zookeeper      "/bin/sh -c '/usr/sb…"   7 days ago          Up About an hour    22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp   kafka-zookeeper-1
f0ef33856875        wurstmeister/kafka          "start-kafka.sh"         7 days ago          Up About an hour    0.0.0.0:9092->9092/tcp                               kafka-kafka-1
e06af2230915        sheepkiller/kafka-manager   "./start-kafka-manag…"   7 days ago          Up About an hour    0.0.0.0:9020->9000/tcp                               kafka-kafka-manager-1

创建名为test_topic的topic主题、生产者

# 进入kafka 容器后,创建topic
# kafka-topics.sh --create --topic <topic_name> --partitions 1 --replication-factor 1 --zookeeper zookeeper:2181
            
[root@kafka_50 ~]# docker exec -it kafka-kafka-1 /bin/bash      # 进入kafka 容器

bash-5.1# kafka-topics.sh --create --topic test_topic --partitions 1 --replication-factor     #创建名为test_topic的主题
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.        = #警告无需理会,关于".""_"的使用规范
Created topic test_topic.                                                                         
 
#在test_topic主题下创建生产者
bash-5.1# kafka-console-producer.sh --broker-list localhost:9092 --topic test_topic
>hello   #随便发送测试信息
>hello123

新建一个终端创建消费者

[root@kafka_50 ~]# docker exec -it kafka-kafka-1 /bin/bash

#创建消费者
bash-5.1# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_topic
hello    #成功接收到生成者发送的信息,接收实时数据,历史数据不会展示
hello123

#消费者接收历史信息参数--from-beginning
bash-5.1# kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_topic --from-beginning

三、kafka进阶

......

参考文档:

docker 部署kafka-CSDN博客   测试信息

docker部署kafka的方法步骤_docker_脚本之家   部署yml文件

相关文章:

  • SpringBoot自定义starter
  • 软件无线电学习-第二代移动通信系统过程理解
  • 【计算机网络】第三章——回退N帧协议
  • 上海亚商投顾:沪指震荡反弹 半导体产业链午后爆发
  • Golang | Leetcode Golang题解之第109题有序链表转换二叉搜索树
  • 层次式架构设计理论与实践
  • 初学C语言100题:经典例题节选(源码分享)
  • Moto和Inter字节序
  • 【讲解下Web前端三大主流的框架】
  • 2024爆款神器!会声会影2024旗舰版,让你的视频制作技能暴涨,不学真的亏大了!
  • 中国科技期刊卓越行动计划重点期刊
  • 推导2维镜像变换(Reflection Transform)的公式
  • 数据集007:垃圾分类数据集(含数据集下载链接)
  • 宝塔部署纯Vue项目,无后端
  • 文献分享《Microbiome and cancer》
  • 在 Visual Studio Code(VS Code)中调试 .NET Core 程序详细步骤
  • markdown画时序图的时候,如何自动显示每一条时序的序号
  • 服务器端口转发,服务器端口转发的作用、好处与坏处
  • Divisibility Part2(整除理论2)
  • PY32F002A单片机 us 延时,非常惊讶
  • 西班牙葡萄牙突发全国大停电,欧洲近年来最严重停电事故何以酿成
  • 上海质子重离子医院已收治8000例患者,基本覆盖国内常见恶性肿瘤
  • 5月动漫|“爱死机”即将回归,《明末》或是下一个大IP?
  • 洛阳原副市长收礼品消费卡,河南通报6起违反八项规定典型问题
  • 委员呼吁提高政府机构电话号码准确性,辽宁阜新回应
  • 锚定“双一流”战略坐标,福建农林大学向全球英才“伸出橄榄枝”