引言
本文代码已提交至Github,有兴趣的同学可以下载来看看:https://github.com/ylw-github/taodong-shop
在上一篇博客《淘东电商项目(48) -ELK+Kafka分布式日志收集(原理篇)》
讲解了使用ELK+Kafka在分布式环境下收集日志的原理。之前已经搭建好了ELK了,在本文将讲解基于Dokcer
搭建Kafka
,当然,搭建Kafka环境之前,需要搭建Zookeeper
。
本文目录结构:
1. 安装前须知
注意:如果要让ELK+Kafka(单机版)跑起来,必须满足如下要求:
1.虚拟机内存必须6G以上,否则无法运行
2.必须关闭防火墙,否则Kafka无法连接Zookeeper
2. Zookeeper的安装
1.下载zookeeper
docker pull wurstmeister/zookeeper
2.启动Zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
3.查看zookeeper是否启动
docker ps
可以看到Zookeeper启动成功!
3. Kafka的安装
1.下载Kafka
docker pull wurstmeister/kafka
2.启动kafka
docker run --name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.162.134:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.162.134:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-d wurstmeister/kafka
3.查看容器是否启动成功
docker ps
可以看到Kafka也启动成功了!
4. 测试
1.进入kafka容器:
docker exec -it kafka /bin/bash
2.创建my_log主题(提示“Created topic 主题名”表示创建成功):
/opt/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.162.134:2181 --replication-factor 1 --partitions 1 --topic my_log
3.查询创建主题:
/opt/kafka/bin/kafka-topics.sh --list --zookeeper 192.168.162.134:2181
可以看到,查询结果为刚创建的主题my_log
,成功!