一、前言

Kafka是什么?

  1. Kafka是一种高吞吐量的分布式发布订阅消息系统,可以处理消费者在网站中的所有动作流数据。
  2. 目的:通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。

    环境

  3. zookeeper

  4. kafka
  5. kafka-manager

    二、docker-compose安装kafka

    1. docker-compose-kafka.yml

    `` version: '3' services: zookepper: image: wurstmeister/zookeeper # 原镜像wurstmeister/zookeeper` container_name: zookeeper_server # 容器名为’zookeeper_server’ restart: always # 指定容器退出后的重启策略为始终重启 volumes: # 数据卷挂载路径设置,将本机目录映射到容器目录
    • “/etc/localtime:/etc/localtime” ports: # 映射端口
    • “2181:2181” kafka: image: wurstmeister/kafka # 原镜像wurstmeister/kafka container_name: kafka_server # 容器名为’kafka_server’ restart: always # 指定容器退出后的重启策略为始终重启 volumes: # 数据卷挂载路径设置,将本机目录映射到容器目录
    • “/etc/localtime:/etc/localtime” environment: # 设置环境变量,相当于docker run命令中的-e KAFKA_ADVERTISED_HOST_NAME: 47.103.19.123 # TODO 本机IP KAFKA_ADVERTISED_PORT: 9092 # 端口 KAFKA_BROKER_ID: 0 # 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://47.103.19.123:9092 # TODO 将kafka的地址端口注册给zookeeper KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092 # 配置kafka的监听端口 KAFKA_ZOOKEEPER_CONNECT: 47.103.19.123:2181 # TODO zookeeper地址 KAFKA_CREATE_TOPICS: “hello_world” ports: # 映射端口
    • “9092:9092” depends_on: # 解决容器依赖启动先后问题
    • zookepper kafka-manager: image: sheepkiller/kafka-manager # 原镜像sheepkiller/kafka-manager container_name: kafka-manager # 容器名为’kafka-manager’ restart: always # 指定容器退出后的重启策略为始终重启 environment: # 设置环境变量,相当于docker run命令中的-e ZK_HOSTS: 47.103.19.123:2181 # TODO zookeeper地址 APPLICATION_SECRET: zhengqing KAFKA_MANAGER_AUTH_ENABLED: “true” # 开启kafka-manager权限校验 KAFKA_MANAGER_USERNAME: admin # 登陆账户 KAFKA_MANAGER_PASSWORD: 123456 # 登陆密码 ports: # 映射端口
    • “9001:9000” depends_on: # 解决容器依赖启动先后问题
    • kafka
  1. <a name="VtONs"></a>
  2. #### 2. 运行

docker-compose -f docker-compose-kafka.yml -p kafka up -d ```

3. kafka-manager(kafka集群管理工具)

访问 ip:9001

温馨小提示:下面只是简单使用,更多可自行查询资料了解

  • 新建Cluster: 点击Cluster -> Add Cluster

docker-compose部署Kafka - 图1

  • Save保存时出现如下提示至少为2,修改一下默认值为2即可~

docker-compose部署Kafka - 图2

  • 查看topic

docker-compose部署Kafka - 图3

docker-compose部署Kafka - 图4

docker-compose部署Kafka - 图5