文章目录
- Kafka
- 1、Kafka架构
- 单节点单 broker
- Zookeeper 配置
- Kafka 配置
- topic
- Kafka 创建 topic
- 查看当前有多少个 tpoic
- 启动生产者产生消息
- 启动消费者读取消息
- 查看某个 topic 详细信息
- 查看所有 topic 详细信息
- 获取目前对应topic的offset
- 获取消费组状态和用到的topic
- 初始化topic偏移量
- 删除topic
Kafka
注意 Kafka 需要依附在 Zookeeper 上
1、Kafka架构
- producer:生产者
- consumer:消费者
- broker:篮子
- topic:主题,指定消息队列给谁用
单节点单 broker
Zookeeper 配置
下载 Zookeeper 安装包并解压,并在 /etc/profile 中添加相应配置
export ZK_HOME = Zookeeper 的安装目录
export PATH = $ZK_HOME/bin:$PATH
修改 Zookeeper 的 conf 目录下的 zoo_sample.cfg
将 zoo_sample.cfg 拷贝多一份并命名为 zoo.cfg
进入 zoo.cfg ,将 dataDir 属性更改为其他目录,因为系统的 /temp 目录重启机器后会被清空
// 启动 Zookeeper Server ,在 Zookeeper 安装目录的 bin 目录下
./zookeeper-server-start.sh start
// 启动之后可以使用 jps 检查是否存在 QuorumPeerMain
Kafka 配置
下载 Kafka 安装包并解压,并在 /etc/profile 中添加相应配置
export KAFKA_HOME = Kafka 的安装目录
export PATH = $KAFKA_HOME/bin:$PATH
修改 Kafka 的 config 目录下的 server.properties
将 host.name 修改为 Kafka 所在的主机名
将 log.dirs 修改为 其他目录,因为系统的 /temp 目录重启机器后会被清空
将 zookeeper.connect 修改为 zookeeper 所在机器名 + :端口号
// 启动 Kafka
bin/kafka-server-start.sh config/server.properties
topic
Kafka 创建 topic
# 从上到下(第一行除外)分别为:
# zookeeper 地址及端口号
# 副本系数
# 分区书
# topic 名
bin/kafka-topics.sh --create \
--zookeeper localhost:2181 \
--replication-factor 1 \
--partitions 1 \
--topic test
查看当前有多少个 tpoic
// 需要将 localhost:9092 改成你运行 bootstrap-server 的主机名及端口
./bin/kafka-topics.sh --list --zookeeper localhost:2181
启动生产者产生消息
// 需要将 localhost:9092 改成你运行 broker-list 的主机名及端口,topic属性代表消息的类别
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
启动消费者读取消息
// 需要将 localhost:9092 改成你运行 bootstrap-server 的主机名及端口,指定读取类别为 test 的消息
// from-beginning 表示读取从这个生产者开始生产之后的所有消息
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
指定组
./bin/kafka-console-consumer.sh --bootstrap-server hdp-s-1.data.dc.zjft.com:6667 --from-beginning --consumer-property group.id=flink_usp --topic wwj
查看某个 topic 详细信息
// 需要将 localhost:2181 改成你运行 zookeeper 的主机名及端口,指定读取类别为 test 的消息
./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
查看所有 topic 详细信息
// 需要将 localhost:2181 改成你运行 zookeeper 的主机名及端口,指定读取类别为 test 的消息
./bin/kafka-topics.sh --describe --zookeeper localhost:2181
获取目前对应topic的offset
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list hdp-s-1.data.dc.zjft.com:6667 --topic xzy
获取消费组状态和用到的topic
./bin/kafka-consumer-groups.sh --bootstrap-server hdp-s-1.data.dc.zjft.com:6667 --group flink_usp --describe
初始化topic偏移量
./bin/kafka-consumer-groups.sh --bootstrap-server hdp-s-1.data.dc.zjft.com:6667 --group flink_usp --topic usp_data3 --reset-offsets --to-earliest -execute
删除topic
./bin/kafka-topics.sh --delete --zookeeper 10.34.11.70:2181 --topic topicName
./bin/kafka-topics.sh --list --zookeeper 10.34.11.70:2181