kafka脚本操作

  1. 创建一个topic:topic:
    指的是话题, 主题的意思, 在消息发送的时候, 我们需要对消息进行分类, 生产者和消费者需要在同一个topic下, 才可以进行发送和接收
      ./kafka-topics.sh --create --zookeeper node01:2181,node02:2181,node03:2181 --replication-factor 1 --partitions 1 --topic order
  1. 使用Kafka自带一个命令行客户端启动一个生产者,生产数据
./kafka-console-producer.sh --broker-list node01:2181,node02:2181,node03:2181 --topic order
  1. 使用Kafka自带一个命令行客户端启动一个消费者,消费数据
./kafka-console-consumer.sh --bootstrap-server node01:2181,node02:2181,node03:2181  --topic order

该消费语句,只能获取最新的数据,要想历史数据,需要添加选项–from-beginning
如:bin/kafka-console-consumer.sh --bootstrap-server node01:2181,node02:2181,node03:2181 --from-beginning --topic order

  1. 查看有哪些topic
./kafka-topics.sh --list --zookeeper node01:2181,node02:2181,node03:2181
  1. 查看某一个具体的Topic的详细信息
./kafka-topics.sh --describe --topic order --zookeeper node01:2181,node02:2181,node03:2181
  1. 删除topic
./kafka-topics.sh --delete --topic order --zookeeper node01:2181,node02:2181,node03:2181

只会标识一下, 这个topic已经被删除了

注意:彻底删除一个topic,需要在server.properties中配置delete.topic.enable=true,否则只是标记删除
配置完成之后,需要重启kafka服务。
彻底删除, 描述将元数据信息彻底删除, 不会删除原始数据

原始数据, 必须手动删除即可

如果在使用中, 需要删除一个topic: 直接删除zookeeper中对应topic的节点即可,
  如果要删除原始数据, 需要到对应目录下手动删除

### 尚硅谷 Kafka集群管理脚本配置教程 #### 1. 环境准备 为了确保Kafka集群能够正常运行,环境准备阶段至关重要。这包括安装Java、Zookeeper以及下载并解压Kafka二进制文件。 对于每台服务器上的操作如下所示: ```bash # 安装JDK sudo apt-get update && sudo apt-get install openjdk-8-jdk -y # 下载并设置Zookeeper wget https://archive.apache.org/dist/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz tar zxvf apache-zookeeper-3.7.0-bin.tar.gz mv apache-zookeeper-3.7.0 /usr/local/zookeeper # 设置环境变量 echo 'export ZOOKEEPER_HOME=/usr/local/zookeeper' >> ~/.bashrc echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin' >> ~/.bashrc source ~/.bashrc # 同样地为Kafka做相同的操作... ``` #### 2. 配置zoo.cfg 文件 编辑`$ZOOKEEPER_HOME/conf/zoo.cfg`来指定数据目录和其他必要的参数: ```properties tickTime=2000 dataDir=/var/lib/zookeeper/ clientPort=2181 initLimit=5 syncLimit=2 server.1=zookeeper1:2888:3888 server.2=zookeeper2:2888:3888 server.3=zookeeper3:2888:3888 ``` #### 3. 修改Kafka Broker配置 针对每个Broker实例,在其对应的`config/server.properties`中调整以下属性以适应多节点部署需求[^1]: ```properties broker.id=${BROKER_ID} # 替换成实际ID, 如0,1,2等 listeners=PLAINTEXT://${HOST_NAME}:9092 # 使用主机名或IP地址替换${HOST_NAME} advertised.listeners=PLAINTEXT://${PUBLIC_HOST_NAME}:9092 # 对外暴露监听器 log.dirs=/tmp/kafka-logs-${BROKER_ID} # 日志存储路径 num.partitions=3 # 默认分区数 default.replication.factor=3 # 副本因子数量 offsets.topic.replication.factor=3 # Offsets主题副本数目 transaction.state.log.replication.factor=3 transaction.state.log.min.isr=2 # ISR最小成员数 controller.quorum.voters=1@kafka1:9093,2@kafka2:9093,3@kafka3:9093 # Controller选举机制 ``` #### 4. 创建Topic Shell Script 创建一个简单的shell script用于批量创建topics,可以简化日常管理工作量。 ```bash #!/bin/bash for i in {1..5}; do kafka-topics.sh --create \ --topic test-topic-$i \ --partitions 6 \ --replication-factor 3 \ --if-not-exists \ --bootstrap-server localhost:9092; done ``` 以上就是关于尚硅谷版本下如何编写和应用Kafka集群管理及配置的相关指导说明。通过上述步骤可实现基本的功能搭建与维护工作流。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值