title: kafka
date: 2021-11-12 14:53:12
tags: Kafka
categories: Spark
一、Spark Streaming +kafka
- 单机启动zookeeper
cd /opt/modules/zookeeper/bin
./zkServer.sh start
./zkServer.sh status
- 启动kafka
cd /opt/modules/kafka/bin
./kafka-server-start.sh config/server.properties
- 创建topic “wordsendertest” (打开一个新的端口)
./kafka-topics.sh --create --zookeeper localhost:2080 --replication-factor 1 --partitions 1 --topic wordsendertest
#replication-factor:每个partition的副本个数
- 可以用list列出所有创建的Topic,验证是否创建成功
./kafka-topics.sh --list --zookeeper localhost:2080
- 向topic中生产数据,通过shell命令向topic发送消息
./kafka-console-producer.sh --broker-list localhost:9092 --topic wordsendertest
上面命令执行后,就可以在当前终端内用键盘输入一些英文单词,比如可以输入:hello hadoop hello saprk
可以通过消费者查看数据
- 编写SparkStreaming应用程序,处理kafka数据
二、kafka常用命令
- 启动kafaka
./kafka-server-start.sh config/server.properties
- 验证Kafka是否安装和启动成功(话题、生产者、消费者)在任意服务器上运行命令创建Topic“HelloKafka”:
./kafka-topics.sh --create --zookeeper centos01:2080,centos02:2080 --replication-factor 2 --partitions 1 --topic HelloKafka
- 在任意服务器上运行命令为创建的Topic“HelloKafka”生产一些消息,就是输入一些消息
./kafka-console-producer.sh --broker-list centos01:9092, centos02:9092 --topic HelloKafka
- 查看topic状态
./kafka-topics.sh --describe --zookeeper centos01:2080,centos02:2080,cenos03:2080 --topic HelloKafka
- 查看当前kafka包含的topics列表
./kafka-topics.sh --list --zookeeper centos01:2080,centos02:2080,cenos03:2080
- 删除某个topic
./kafka-topics.sh --delete --zookeeper centos01:2080,centos02:2080,cenos03:2080 --topic HelloKafka
- 查看指定topic信息
./kafka-topics.sh --zookeeper centos01:2080,centos02:2080,centos03:2080 --describe --topic HelloKafka
- 控制台向topic生产数据
./kafka-console-producer.sh --broker-list centos01:9092,centos02:9092,centos03:9092 --topic HelloKafka
- 控制台消费topic的数据
./kafka-console-consumer.sh --bootstrap-server centos01:2080,centos02:2080,centos03:2080 --topic HelloKafka --from-beginning
- 查看topic某分区偏移量最大(小)值
./kafka-run-class.sh kafka.tools.GetOffsetShell --topic HelloKafka --time -1 --broker-list centos01:9092,centos02:9092,centos03:9092 --partitions 0