继之前写的分布式日志系统的搭建,之前提到用zipkin做日志追踪,后来为了提高整个日志分析系统的性能,必须要考虑加入kafka消息队列来保证日志不丢失,更好地提高系统的健壮性。
本次搭建环境是基于windows下。
安装地址:http://apache.fayea.com/zookeeper/current/
下载完解压,我用的版本是3.4.12,并在这个文件夹下新建data文件夹;
进入conf目录,将zoo_sample.cfg复制为zoo.cfg,然后打开并修改里面的内容;
主要修改的是:
dataDir=.\zookeeper-3.4.13\data
这个路径可以自己随意更改,根据自己需要;
打开bin目录,用管理员运行zkServer.cmd,效果如下:
如果最后出现0.0.0.0:2181,就是运行成功了;
安装地址:http://kafka.apache.org/downloads.html
安装完解压,在该目录下再创建一个logs目录,进入config目录,打开server.properties 并编辑:
log.dirs=.\kafka_2.11-2.0.0\logs
注意要写绝对路径,这里的路径可以根据自己的需求去修改。
然后在当前压缩完的目录下执行命令:
.\bin\windows\kafka-server-start.bat .\config\server.properties
这个时候会报一个错误:找不到或无法加载主类;淡定,一行命令搞定:
SET CLASSPATH=.;
重新运行下就可以了:
打开bin/windows,然后在这里打开命令行(Shift+右键),执行:
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
注意,ip跟topic名称可以自己改;提示主类报错的话,还是用上面的方法解决;
那这样子就是创建成功了;
接下来,打开一个Producer
kafka-console-producer.bat --broker-list localhost:9092 --topic test
运行后截图如下:
好了,接下来打开一个Consumer
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
运行成功:
这里需要注意一下,之前我找到的命令是
kafka-console-consumer.bat --zookeeper localhost:2181 --topic test
但是这里会报一个警告:zookeeper is not a recognized option,后来上网搜了下,有朋友说这是因为--zookeeper参数已经过时了,所以需要用--bootstrap-server来替换掉。之前踩过的坑。
然后在Producer下测试一下,看看能不能传输成功:
此外,后面如果需要删除topic里面的消息的话,可以尝试用下面的命令:
kafka-topics --delete --zookeeper 你的ip:2181 --topic topic名称
到这里为止,kafka的配置算是基本完成了。
参考资料:
1.https://www.jianshu.com/p/f7037105db46
2.https://www.jianshu.com/p/64d25dcf8300
3.https://blog.csdn.net/csdn_sunlighting/article/details/81516646