• docker创建一个kafka集群


    【NO-1】创建一个 network

    docker network create app-tier --driver bridge
    
    • 1

    【NO-2】安装zookeeper

    docker run -d --name zookeeper-server \
    -p 2181:2181 \
    --network app-tier \
    -e ALLOW_ANONYMOUS_LOGIN=yes \
    bitnami/zookeeper:latest
    
    • 1
    • 2
    • 3
    • 4
    • 5

    【NO-3】install kafka

    (1)容器0
    docker run -d --name kafka0 \
    --network app-tier \
    -p 9092:9092 \
    -e KAFKA_BROKER_ID=1 \
    -e ALLOW_PLAINTEXT_LISTENER=yes \
    -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
    -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.43.37:9092 \
    bitnami/kafka:latest
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    (2)容器1
    docker run -d --name kafka1 \
    --network app-tier \
    -p 9093:9092 \
    -e KAFKA_BROKER_ID=2 \
    -e ALLOW_PLAINTEXT_LISTENER=yes \
    -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
    -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.43.37:9093 \
    bitnami/kafka:latest
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    (3)容器2
    docker run -d --name kafka2 \
    --network app-tier \
    -p 9094:9092 \
    -e KAFKA_BROKER_ID=3 \
    -e ALLOW_PLAINTEXT_LISTENER=yes \
    -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
    -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.43.37:9094 \
    bitnami/kafka:latest
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    【NO-4-1】安装 kafka-map

    目前关于Docker安装Kafka Eagle没有什么特别出名的镜像,只有nickzurich/efak这个镜像可以考虑下,但这个的收欢迎程度不是很高,所以也少用一点,仅了解一下就可以。

    第一步:使用下述命令拉取最新的nickzurich/efak镜像

    docker pull nickzurich/efak:latest
    
    • 1

    第二步:使用下述命令启动容器

    docker run -d --name kafka-eagle -p 8048:8048 -e EFAK_CLUSTER_ZK_LIST="192.168.1.75:2181" nickzurich/efak:latest
    
    • 1

    EFAK_CLUSTER_ZK_LIST:配置的是zookeeper服务的地址

    第三步:浏览器中访问下述地址,其默认账号/密码为admin/123456

    http://127.0.0.1:8048/topic/list
    
    • 1
    【NO-4-2】 安装 kafka-map 用4-1 这个可以不用
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    拓展

    –进入kafka的bin目录(/opt/bitnami/kafka/bin) topics指令 连接kafka 主题:主题名 分区 副本
    kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --create --topic first --partitions 1 --replication-factor 1

    //创建主题
    kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --create --topic first --partitions 3 --replication-factor 2

    //查看全部主题
    kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --list
    kafka-topics.sh --bootstrap-server 127.0.0.1:9093 --list
    kafka-topics.sh --bootstrap-server 192.168.43.37:9092 --list
    //查看主题描述
    kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --describe --topic first
    kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --describe --topic test
    kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --describe --topic testdog

    //修改 增加分区 往多了改
    kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --alert --topic testdog --partitions 4
    //删除
    kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --delete --topic firstT

    生产者和消费者

    生产者
    //生产者连接进入主题
    kafka-console-producer.sh --bootstrap-server 127.0.0.1:9092 --topic firstT

    //消费者消费主题 -消费当前
    kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic firstT

    //消费者消费主题 -消费从开始的数据
    kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic firstT --from-beginning

    //分区内有序 分区间无序

  • 相关阅读:
    CMake了解
    Docker搭建redis集群
    CVE-2017-7529 Nginx越界读取内存漏洞
    遥感IDL二次开发(辐射定标)
    JDBC向数据库中插入BLOB类型数据
    PHP排序sort()、asort() 和 ksort() 的区别及用法
    JUC第六讲:ThreadLocal/InheritableThreadLocal详解
    2021年上半年软件设计师下午真题及答案解析(四)
    topK问题---使用优先级队列解决
    防抖和节流
  • 原文地址:https://blog.csdn.net/qq_17040587/article/details/134240008