Docker搭建Kafka

Posted toov5

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker搭建Kafka相关的知识,希望对你有一定的参考价值。

下载Kafka和Zookeeper镜像文件

1,docker pull wurstmeister/kafka
2,docker pull wurstmeister/zookeeper

先运行zk,再运行kafka


1,启动zk
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper 2,启动kafka
docker run --name kafka01 -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.91.66:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.91.66:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -d wurstmeister/kafka

创建主题

进入到容器中:
 docker exec -it kafka01 /bin/bash
创建主题: my_log
/opt/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.91.66:2181 --replication-factor 1 --partitions 1 --topic my_log

技术图片

技术图片

 

 在项目代码我们可以进行AOP日志处理,将异常信息 发送到Kafaka 然后 Logstash订阅话题,将数据写入到ES中。

 

Logstash配置:  通过Logstash去订阅主题,主题要保持一致与代码,与创建的主题。

input 
  kafka 
    bootstrap_servers => "192.168.91.66:9092"
    topics => ["goods_mylog"]
  

output 
    stdout  codec => rubydebug 
    elasticsearch 
       hosts => ["192.168.91.66:9200","192.168.91.66:9201"]
       index => "goods_mylog"
    

 

启动Logstash: ./bin/logstash -f  goods_mylog.conf

 

以上是关于Docker搭建Kafka的主要内容,如果未能解决你的问题,请参考以下文章

Kafka Docker - 无法从 docker 容器外部生产或消费

kafkadocker + 单点kafka部署 + nodejs生产者和消费者

Docker手册

我的 kafka docker 容器无法连接到我的 zookeeper docker 容器

在 Windows 中的 Docker 中托管 Kafka 时删除主题时出现异常

无法解析“kafka:9092”:名称或服务未知 - docker / php-rdkafka