大数据之Kafka 学习记录

Kafka 分布式消息队列

大数据之Kafka 学习记录

包含producer、broker、consumer、zookeeper。

producer向broker发送消息,可通过任意broker发现其他broker。

消息组成;topic,key、value、timestamp

broker是producer和consumer之间的桥梁。

每个消息保存成多副本,默认是3.默认保存一周。

用户划分message的逻辑概念,一个topic可以分布到不同broker上。

Kafka横向扩展和一切并行化的基础,每个topic至少被切分成1partition。

消息在Partition中是有编号的,称为“offset

KafkaPartition为单位对消息进⾏备份(replica) ,每个partition可以配置至少有1replica 。

一个partition只能被一个consumer消费。

Kafka安装部署

首先启动zookeeper:

 

bin/zookeeper-server-start.sh  config/zookeeper.properties &

使用命令查看zookeeper是否启动成功:jps | grep Quorum

再启动broker:

bin/kafka-server-start.sh -daemonconfig/server.properties

使用命令查看kafkaBroker是否启动更成功:jps | grep Kafka

创建topic,名字为test,包含5个分区,副本数为1,数据保留时长为2天(默认是1天)毫秒:

bin/kafka-topics.sh --create --zookeeper master:2181--replication-factor 1 --partitions 5 --topic test --configdelete.retention.ms=172800000

producer:bin/kafka-console-producer.sh --broker-list master:9092--topic test

consumer:bin/kafka-console-consumer.sh --bootstrap-servermaster:9092 --topic test --from-beginning