【中间件】docker+kafka单节点部署---zookeeper模式

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

最近生产环境上准备部署ELFK日志监控,先在测试环境部署单节点kafka验证调通相关配置,特此记录kafka部署流程,后续再补充kafka高可用方案;

消息中间件介绍

Apache Kafka是一个发布 - 订阅开源消息代理应用程序。这个消息传递应用程序是用“scala”编码的。基本上,这个项目是由Apache软件启动的。Kafka的设计模式主要基于事务日志设计。

1. KRaft模式

后续补充
KRaft 模式相比 ZooKeeper 模式的主要优势如下:

  • 运维简化:只需部署 Kafka,不再依赖 ZooKeeper。

  • 横向扩展能力提升:Kafka 集群能支持的 Partition 数量是衡量其横向扩展能力的重要指标。此前这个值受 ZooKeeper 与 Controller 之间传递元数据的限制,只能到十万量级,而 KRaft 模式不需要这种传递, 因此可以提升到百万量级。

  • 元数据传播提效:元数据通过 Kafka 的 Topic 管理,并利用 Topic 的生产消费传播,集成性更好的同时也提升了一些底层实现的性能。

2. zookeeper模式

本文采用模式
经典模式

2.1. 单节点部署

安装
  1. docker-compose.yml

    cat docker-compose.yml
    ------------------------------- docker-compode.yml ----------------------------------------
    version: '3'
    services:
      kfk:
        container_name: kfk
        image: bitnami/kafka:3.9.0
        environment:
          - ALLOW_PLAINTEXT_LISTENER=yes
          - KAFKA_CFG_ZOOKEEPER_CONNECT=zk-server:2181
        ports:
          - "19092:9092"
          - "19093:9093"
        volumes:
          - ./config/server.properties:/opt/bitnami/kafka/config/server.properties
        net
### 使用 Docker Compose 部署单节点 Kafka 为了部署单节点的 Apache Kafka 实例,可以利用 DockerDocker Compose 工具来简化环境搭建过程。通过编写 `docker-compose.yml` 文件定义服务配置,能够轻松启动所需的服务容器。 创建一个新的目录用于保存项目文件,在该目录下新建名为 `docker-compose.yml` 的文件并编辑其内容如下: ```yaml version: '3' services: zookeeper: image: wurstmeister/zookeeper:latest ports: - "2181:2181" kafka: image: wurstmeister/kafka:latest depends_on: - zookeeper ports: - "9092:9092" environment: KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 ``` 上述 YAML 文件描述了一个包含两个服务的应用程序:ZooKeeperKafka[^2]。其中 ZooKeeperKafka 所依赖的一项组件,负责管理集群中的元数据信息;而 Kafka 则是消息队列本身。这里指定了两者使用的镜像版本以及端口映射关系,使得外部设备可以通过指定主机 IP 地址加对应端口号的方式访问到内部运行着的服务实例。 完成以上操作之后,在命令行工具中切换至含有此文件的工作空间根路径位置执行下面这条指令即可一键拉取所需的镜像资源并将它们作为独立进程启动起来: ```bash docker-compose up -d ``` 这将会以后台守护模式开启所有被定义好的容器单元,并保持持续监听状态直至手动停止或异常中断为止。此时便成功构建起了一个简易版的消息中间件平台供本地开发测试所用了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值