1 Kafka简介
1、kafka是什么?
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,具有高性能、持久化、多副本备份、横向扩展能力。
2、kafka的工作原理[去耦合]
Kafka采用的是订阅-发布的模式,消费者主动的去kafka集群拉取消息,与producer相同的是,消费者在拉取消息的时候也是找leader去拉取。
3、kafka存在的意义:去耦合、异步、中间件的消息系统。
2 创建一个网络
# app-tier:网络名称
# –driver:网络类型为bridge
docker network create app-kafka --driver bridge
3 安装zookeeper
# Kafka依赖zookeeper所以先安装zookeeper
# -p:设置映射端口(默认2181)
# -d:后台启动
docker run -d --name zookeeper-server \
-p 2181:2181 \
--network app-kafka \
-e ALLOW_ANONYMOUS_LOGIN=yes \
bitnami/zookeeper:latest
查看zookeeper运行状态
4 安装Kafka
# 安装并运行Kafka,
# –name:容器名称
# -p:设置映射端口(默认9092 )
# -d:后台启动
# ALLOW_PLAINTEXT_LISTENER任何人可以访问
# KAFKA_CFG_ZOOKEEPER_CONNECT链接的zookeeper
# KAFKA_ADVERTISED_HOST_NAME当前主机IP或地址(重点:如果是服务器部署则配服务器IP或域名否则客户端监听消息会报地址错误)
# -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.18.102.102:9092 这个IP一定要是外网IP,不要设置为内网IP
docker run -d --name kafka-server \
--network app-kafka \
-p 9092:9092 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.18.102.102:9092 \
bitnami/kafka:latest
查看kafka运行状态
5 kafka-map图形化管理工具
# 图形化管理工具
# 访问地址:http://服务器IP:9101/
# DEFAULT_USERNAME:默认账号admin
# DEFAULT_PASSWORD:默认密码admin
# Git 地址:https://github.com/dushixiang/kafka-# map/blob/master/README-zh_CN.md
docker run -d --name kafka-map \
--network app-kafka \
-p 9101: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
参考博客
centos环境使用Docker安装Kafka指南