大数据学习之 Kafka 篇

一:简介

一种分布式的基于发布/订阅的消息系统

 

 

二:场景

常用组合:常用 flume (收集数据) --> kafka(把收集来的数据存储到kafka) --> spark Streaming(使用spark Streaming 从kafka中取数据)

运用场景:1.系统之间的解耦合 2.峰值压力缓冲 3.异步通信

 

三:特点

1.消息持久化 2.高吞吐量 3.分布式 4.多客户端支持 5. 实时性

基本组件:

1.broker :负责数据的独写请求,存储消息;

2.product :往kafka中生产数据 ;

3.Consumer : 从kafka中取数据;

4.Topic : 用来数据的分类 ,不同消费者去指定的Topic中读,不同的生产者往不同的topic中写 ;

5.Partition :一个 topic 分为多个partition, 在topic的基础上进一步分区,在partition中每个数据都有一个offset记录位置信息 producer 往partition中写数据,并给每一个数据中设置offset记录位置 (顺序是强有序的) 一个consumer 一次只能读一个partition中的数据

6.zookeeper负载均衡:将topic分成多个分区,每个broker存储一个或多个partition(用来协调broker)

 

四:kafka 环境搭建

1. 下载zookeeper

(1)解压

(2)在conf下 把zoo_sample.cfg 文件改名为 zoo.cfg

(3)vim  zoo.cfg 修改以下配置

clientPort=2181

server.1=127.0.0.1:12888:1288

server.2=127.0.0.1:13888:1388

server.3=127.0.0.1:14888:1488

dataDir=../zkData

dataLogDir=../zkLog

(4)在zookeeper-3.4.14\zkData 下创建myid文件

内容为1

(5)修改每一个集群下的zoo.cfg文件 并且创建myid文件

2. 下载kafka

(1)解压

(2)修改 config/server.properties 文件 内容如下

三个集群分别为

broker.id=0 broker.id=1 broker.id=2

port=9092 port=9093 port=9094

log.dirs=/tmp/kafka-logs log.dirs=/tmp/kafka-logs-1 log.dirs=/tmp/kafka-logs-2

五:kafka的命令

启动kafka:

kafka-server-start.bat ../../config/server.properties

创建topic:

kafka-topics.bat --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic test

查看topic:

kafka-topics.bat --list --zookeeper localhost:2181

发送消息:

kafka-console-producer.bat --broker-list localhost:9092 --topic test

接收消息:

kafka-console-consumer.bat --zookeeper localhost:2181 --topic test --from-beginning

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值