1,kafka简单介绍
kafka是一款分布式、支持分区的、多副本,基于zookeeper协调的分布式消息系统。最大的特性就是可以实时处理大量数据来满足需求。
2,kafka使用场景
1,日志收集:可以用kafka收集各种服务的日志 ,通过已统一接口的形式开放给各种消费者。
2,消息系统:解耦生产和消费者,缓存消息。
3,用户活动追踪:kafka可以记录webapp或app用户的各种活动,如浏览网页,点击等活动,这些活动可以发送到kafka,然后订阅者通过订阅这些消息来做监控。
4,运营指标:可以用于监控各种数据。
3,kafka基本概念
kafka是一个分布式的分区的消息,提供消息系统应该具备的功能。
名称 | 解释 |
---|---|
broker | 消息中间件处理节点,一个broker就是一个kafka节点,多个broker构成一个kafka集群。 |
topic | kafka根据消息进行分类,发布到kafka的每个消息都有一个对应的topic |
producer | 消息生产(发布)者 |
consumer | 消息消费(订阅)者 |
consumergroup | 消息订阅集群,一个消息可以被多个consumergroup消费,但是一个consumergroup只有一个consumer可以消费消息。 |
kafka安装
先在usr/local目录下创建 kafka 文件夹
cd /usr/local
mkdir kafka
cd kafka 进入
下载安装包
链接:https://pan.baidu.com/s/1AtRi--BpdcW2M68aFI9m3w
提取码:kyt7
解压
tar -xzvf kafka_2.11-2.4.0.tgz
进入到kafka
cd kafka_2.11-2.4.0
cd config
#修改配置文件
vim server.properties
找到 listeners=PLAINTEXT:// 内网IP :9092 这句话,把前边代表注释的 # 号 去掉,内网IP那写自己服务器的内网IP
再往下走 找到:log.dirs。把他后边改为:
log.dirs=/usr/local/kafka/kafka-logs
再往下走:
找到 zookeeper.connect=服务器ip :2181
先将zookeeper启动成功
启动kafka
./kafka-server-start.sh ../config/server.properties
或启动kafka (以守护线程的形式)
./kafka-server-start.sh -daemon ../config/server.properties
lsof -i:9092 有东西就说明启动了
然后电脑 打开cmd 去 telnet 一下看看端口通了没有。如果服务器开了9092端口,但不通一般最大可能是 server.properties文件中配置出错了。