Kafka学习笔记(一)

1、使用消息队列的好处?

解耦、扩展性、可恢复性、缓冲、灵活性&峰值处理能力(削峰)、异步通信、顺序保证

2、消息队列的两种模式:

a.点对点模式(一对一,消费者主动拉取,消息消费后就会删除)

b.发布/订阅模式(一对多,消息消费后不会删除,kafka中是消费者主动拉取消息)

 

3、kafka的组成

 

1)produncer:消息生产者,发布消息到kafka;

2)broker:一个broker就是一个Kafka服务器,一个集群有多个broker,一个broker有多个topic;

3)cousumer:消费者,向kafka主动拉取消息;

4)consumer group:消费者组,可以看成一个整体,消费者组里面的消费者只能消费不同的分区,一个分区只能被一个消费者组里面的一个消费者消费。

5)topic:消息的队列,生产者和消费者面向的都是一个topic

6)partition:分区,一个topic可以包含多个partition,每个partition在不同的分区,partition内部有序;

7)replication:副本,分为leader和follower,副本数设置不能超过broker数,分区数可以超过;

8)leader:副本的角色,producer和consumer只和leader交互;

9)follower:副本的角色,从leader中复制数据;

10)zookeeper:0.9版本之前offset存储在zk,0.9版本及之后offset存储在kafka;

4、Kafka部署时修改配置文件server.properties

#broker 的全局唯一编号,不能重复

broker.id=0

#删除 topic 功能使能

delete.topic.enable=true

#kafka 运行日志存放的路径

log.dirs=/opt/module/kafka/data

#配置连接 Zookeeper 集群地址

zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181

5、Kafka全起脚本(使用时脚本名kfk.sh start/stop即可)

#!/bin/bash

case $1 in

"start"){

#遍历拿到hadoop集群的hostname,也可以写死

for i in `cat /opt/module/hadoop-2.7.2/etc/hadoop/slaves`

do

echo "========== $i =========="

ssh $i 'source /etc/profile&&/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties'

echo $?

done

};;

"stop"){

#遍历拿到hadoop集群的hostname,也可以写死

for i in `cat /opt/module/hadoop-2.7.2/etc/hadoop/slaves`

do

echo "========== $i =========="

ssh $i 'source /etc/profile&&/opt/module/kafka2/bin/kafka-server-start.sh '

echo $?

done

};;

esac

6、kafka命令行操作

1)查看当前服务器所有中所有topic

kafka-topics.sh --zookeeper hadoop102:2181 --list

2)创建topic

kafka-topics.sh --zookeeper hadoop102:2181 --create --topic first --partitions 2 --replication-factor 2

3)删除topic

kafka-topics.sh --zookeeper hadoop102:2181 --delete --topic first

4)增加topic分区

kafka-topics.sh --zookeeper hadoop102:2181 --alter --topic first --partitions 4

5)发送消息

kafka-console-producer.sh --broker-list hadoop102:2181 --topic first

6)消费消息

kafka-console-consumer.sh --zookeeper hadoop102:2181 --topic first

kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --from-beginning --topic first

7)查看某个topic详情

kafka-topics.sh --zookeeperhadoop102:2181 --describe --topic first

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值