Kafka的安装及相关操作命令

文章目录

  • 前言
  • 一、安装kafka
    • [1. 下载kafka](#1. 下载kafka)
    • [2. 解压kafka](#2. 解压kafka)
    • [3. 配置环境变量](#3. 配置环境变量)
  • 二、kafka相关命令
    • [1. 启动zk](#1. 启动zk)
    • [2. 启动Kafka Broker](#2. 启动Kafka Broker)
    • [3. 创建主题](#3. 创建主题)
    • [4. 列出所有主题](#4. 列出所有主题)
    • [5. 查看主题详情](#5. 查看主题详情)
    • [6. 删除主题](#6. 删除主题)
    • [7. 启动控制台生产者](#7. 启动控制台生产者)
    • [8. 启动控制台消费者](#8. 启动控制台消费者)
    • [9. 验证结果](#9. 验证结果)
    • [10. 其他](#10. 其他)

前言

kafka_2.11-0.10.2.1,该版本较旧,依赖zookeeper。


提示:以下是本篇文章正文内容,下面案例可供参考

一、安装kafka

1. 下载kafka

通过命令行下载kafka

bash 复制代码
wget https://archive.apache.org/dist/kafka/0.10.2.1/kafka_2.11-0.10.2.1.tgz

或者访问如下地址,通过浏览器下载,然后传至指定目录

bash 复制代码
https://archive.apache.org/dist/kafka/0.10.2.1/kafka_2.11-0.10.2.1.tgz

2. 解压kafka

使用如下命令解压

bash 复制代码
# 创建目录 kafka_2.11-0.10.2.1
mkdir -p /Users/bigdata/kafka/kafka_2.11-0.10.2.1
# 解压
tar -xzf kafka_2.11-0.10.2.1.tgz -C /Users/bigdata/kafka/kafka_2.11-0.10.2.1 --strip-components=1

--strip-components=1:用于在解压时去除指定数量的目录层次,会在解压时去掉最顶层的一级目录。

如果不想搞的这么复杂,将tgz包传到指定目录,tar -zxf 解压即可。

3. 配置环境变量

shell 复制代码
vi ~/.bash_profile

增加如下配置:

shell 复制代码
export KAFKA_HOME=/Users/bigdata/kafka/kafka_2.11-0.10.2.1
export PATH=$PATH:$KAFKA_HOME/bin

保存后退出,使配置生效

shell 复制代码
source ~/.bash_profile

二、kafka相关命令

1. 启动zk

shell 复制代码
zkServer.sh start

2. 启动Kafka Broker

shell 复制代码
kafka-server-start.sh config/server.properties

3. 创建主题

shell 复制代码
kafka-topics.sh --zookeeper localhost:2181 --create --topic test1 --partitions 1 --replication-factor 1

--replication-factor:指定主题的副本因子,即每个分区的副本数量。
--partitions:指定主题的分区数量。

4. 列出所有主题

shell 复制代码
kafka-topics.sh --list --zookeeper localhost:2181

5. 查看主题详情

shell 复制代码
kafka-topics.sh --describe --zookeeper localhost:2181 --topic test1

6. 删除主题

shell 复制代码
kafka-topics.sh --delete --zookeeper localhost:2181 --topic test1

--delete:删除指定的主题,但要确保 delete.topic.enable=true 在 server.properties 中配置,否则只是标记删除

7. 启动控制台生产者

shell 复制代码
# 启动之后,直接在当前控制台输入消息,回车之后就会发送到指定主题
kafka-console-producer.sh --broker-list localhost:9092 --topic test1

8. 启动控制台消费者

读取主题test1的数据,输出到控制台

shell 复制代码
kafka-console-consumer.sh --zookeeper localhost:2181 --topic test1 --from-beginning

--from-beginning:表示从主题的最早消息开始消费,若不指定则从最新消息开始。

9. 验证结果

查看test1主题有多少数据

shell 复制代码
kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic test1 -time -1 --offsets 1

10. 其他

消费者组相关、修改主题配置相关,待用到时补充。


相关推荐
pe7er3 天前
macOS 应用无法打开(权限问题)解决方案
macos·mac
DemonAvenger4 天前
Kafka性能调优:从参数配置到硬件选择的全方位指南
性能优化·kafka·消息队列
yumgpkpm5 天前
AI视频生成:Wan 2.2(阿里通义万相)在华为昇腾下的部署?
人工智能·hadoop·elasticsearch·zookeeper·flink·kafka·cloudera
予枫的编程笔记5 天前
【Kafka高级篇】避开Kafka原生重试坑,Java业务端自建DLQ体系,让消息不丢失、不积压
java·kafka·死信队列·消息中间件·消息重试·dlq·java业务开发
倚肆5 天前
在 Windows Docker 中安装 Kafka 并映射 Windows 端口
docker·kafka
Sheffield5 天前
如果把ZooKeeper按字面意思比作动物园管理员……
elasticsearch·zookeeper·kafka
雪碧聊技术5 天前
kafka的下载、安装、启动
kafka
予枫的编程笔记5 天前
【Kafka高级篇】Kafka监控不踩坑:JMX指标暴露+Prometheus+Grafana可视化全流程
kafka·grafana·prometheus·可观测性·jmx·kafka集群调优·中间件监控
星辰_mya6 天前
消息队列遇到Producer发送慢
分布式·kafka