Kafka是一个分布式的、可分区的、可复制的、基于发布/订阅的消息系统,Kafka主要用于大数据领域,当然在分布式系统中也有应用。
使用场景:
大规模消息系统、应用监控(ELK+kafka 做应用服务监控)、网站用户行为追踪( 用户行为大数据分析)、流处理以及持久化日志
前言碎语:
Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能,类似于centos下的yum或者ubuntu下的apt-get。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷.
具体可参考博客 : https://www.jianshu.com/p/de6f1d2d37bf
言归正传, 如何使用 brew 安装kafka?
1. 安装zookeeper
brew install zookeeper
这里有个问题:
界面一直卡在Updating Homebrew...上
解决方法:
vim ~/.bash_profile
# 新增一行
export HOMEBREW_NO_AUTO_UPDATE=true
退出后 source ~/.bash_profile
启动文件默认目录: /usr/local/Cellar/zookeeper/3.4.10/bin/
配置文件默认目录: /usr/local/etc/zookeeper/
2. 启动zookeeper 服务
nohup zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties &
3. 安装kafka
brew install kafka
4. 修改Kafka服务配置文件
修改配置文件 /usr/local/etc/kafka/server.properties
解除注释: listeners=PLAINTEXT://localhost:9092
5. 启动Kafka服务
nohup kafka-server-start /usr/local/etc/kafka/server.properties &
6. kafka 命令操作
更多kafka 命令请查看博客 : https://www.cnblogs.com/aixinge/p/9456381.html
// 进入执行文件目录
cd /usr/local/bin
// 查看已有topic
kafka-topics --list --zookeeper localhost:2181
// 查看某一topic信息
kafka-topics --describe --bootstrap-server localhost:9092 --topic topicname
// 查看某一topic内容
kafka-console-consumer --bootstrap-server localhost:9092 --topic topicname --from-beginning
// 创建 topic
kafka-topics --bootstrap-server localhost:9092 --create --topic "topicname" --replication-factor 1 --partitions 1
// 删除topic
kafka-topics --bootstrap-server localhost:9092 --delete --topic "topicname"