一.主题操作
使用kafka-topics.sh工具可以执行主题的大部分操作(配置变更部分已被启用并被移动到kafka-configs.sh工具中)。
我们可以用它创建、修改、删除和查看集群里的主题,要使用该工具的全部功能,需要通过 --zookeeper 参数提供zookeeper的连接字符串。

1.创建主题
创建一个名叫 my-topic 的主题,该主题拥有2个副本、8个分区。replication-factor设置主题副本数,此参数不能超过节点数。partitions设置主题分区数。
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --create  --topic my-topic --replication-factor 2 --partitions 8

2.列出所有主题
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --list

3.列出主题详细信息
3.1列出全部主题详细信息
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --describe

3.2列出某一个主题详细信息
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --describe --topic my-topic

4.查看没有leader的分区
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --describe  --unavailable-partitions

5.查看主题当前的配置
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --describe  --topics-with-overrides

6.修改主题级别配置
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --alter  --topic my-topic --config  max.message.bytes=204800

7.删除主题级别配置,使其恢复为默认值
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --alter  --topic my-topic --delete-config  max.message.bytes

8.删除主题
方法一:
若希望通过该脚本彻底删除主题,则需要在启动kafka时所加载的server.properties文件中配置 delete.topic.enable=true,该配置默认为false。否则执行该脚本并未真正删除主题,而是在 zookeeper的 /admin/delete_topics目录下创建一个与待删除主题同名的节点,将该主题标记为删除状态。
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --delete  --topic my-topic

方法二:
手动删除各节点 ${log.dir}目录下该主题分区文件夹,同时登录zookeeper客户端删除待删除主题对应的节点,主题元数据保存在/brokers/topics和/config/topics目录下。

9.增加分区
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --alter  --topic my-topic  --partitions 16

10.减少分区数量
无法减少分区数量。
因为如果删除了分区,分区里的数据也一并被删除,导致数据不一致。
如果一定要减少分区数量,只能删除整个主题,然后重建。

二.消费者群组
在kafka里,有两个地方保存着消费者群组的消息。对于旧版本的消费者来说,他们的信息保存在zookeeper上,对于新版本的消费者来说,信息保存在broker上。
1.列出并描述群组--旧版本的消费者客户端
列出旧版本的消费者群组
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-consumer-groups.sh --zookeeper 127.0.0.1:2181 --list

获取旧版本

2.列出并描述群组--新版本的消费者客户端
列出新版本的消费者群组
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-consumer-groups.sh --new-consumer  --bootstrap-server 127.0.0.1:9092 --list

获取旧版本消费者群组testgroup的详细信息
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-consumer-groups.sh --zookeeper 127.0.0.1:2181 --describe --group testgroup

3.删除群组
从消费者群组testgroup里删除my-top主题的偏移量
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-consumer-groups.sh --zookeeper 127.0.0.1:2181 --delete --group testgroup --topic my-topic

三.偏移量管理
1.导出偏移量
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-consumer-groups.sh --zkconnect 127.0.0.1:2181 --group testgroup --output-file offsets

2.导入偏移量
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-consumer-groups.sh --zkconnect 127.0.0.1:2181 --group testgroup --input-file offsets

四.动态配置变更
(1)主题级别配置
1.查看配置
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-configs.sh --zookeeper 127.0.0.1:2181  --describe  --entity-type  topics  entity-name my-topic

2.增加、修改配置
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-configs.sh --zookeeper 127.0.0.1:2181  --entity-type  topics  entity-name my-topic  --alter --add-config  flush.messages=2

如果是修改多个配置
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-configs.sh --zookeeper 127.0.0.1:2181  --entity-type  topics  entity-name my-topic  --alter --add-config  flush.messages=2,max.message.byes=102400

3.删除配置
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-configs.sh --zookeeper 127.0.0.1:2181  --entity-type  topics  entity-name my-topic  --alter --delete-config  flush.messages=2

五.生产者操作
说明:
参数 producer.config 用于加载一个生产者级别相关配置的配置文件,如producer.properties。
参数 producer-property 通过该参数可以直接在启动生产者命令行中设置生产者级别的配置,在命令行中设置的参数将会覆盖所加载配置文件中的参数设置。
参数 property 通过该命令可以设置消息消费者相关的配置。

1.启动生产者
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic my-topic  --property parse.key=true

管理kafka的更多相关文章

  1. 《Apache kafka实战》读书笔记-管理Kafka集群安全之ACL篇

    <Apache kafka实战>读书笔记-管理Kafka集群安全之ACL篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家能看到这篇博客的小伙伴,估计你对kaf ...

  2. 【拆分版】Docker-compose构建Zookeeper集群管理Kafka集群

    写在前边 在搭建Logstash多节点之前,想到就算先搭好Logstash启动会因为日志无法连接到Kafka Brokers而无限重试,所以这里先构建下Zookeeper集群管理的Kafka集群. 众 ...

  3. 数据源管理 | Kafka集群环境搭建,消息存储机制详解

    本文源码:GitHub·点这里 || GitEE·点这里 一.Kafka集群环境 1.环境版本 版本:kafka2.11,zookeeper3.4 注意:这里zookeeper3.4也是基于集群模式部 ...

  4. Kafka笔记8(管理Kafka)

    使用kafka-topic.sh工具可以执行大部分操作   创建/修改/删除/查看集群里的主题.要使用全部功能,需要通过--zookeeper参数提供zookeerper连接字符串 创建主题: 创建主 ...

  5. kafka系列六、java管理kafka Topic

    package com.example.demo.topic; import kafka.admin.AdminUtils; import kafka.admin.RackAwareMode; imp ...

  6. kafka集群管理工具kafka-manager部署安装

    一.kafka-manager 简介 为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager.这个管理工具可以很 ...

  7. KAFKA 监控管理界面 KAFKA EAGLE 安装

    概述 Kafka Eagle监控系统是一款用来监控Kafka集群的工具,目前更新的版本是v1.2.3,支持管理多个Kafka集群.管理Kafka主题(包含查看.删除.创建等).消费者组合消费者实例监控 ...

  8. SparkStreaming和Kafka基于Direct Approach如何管理offset实现exactly once

    在之前的文章<解析SparkStreaming和Kafka集成的两种方式>中已详细介绍SparkStreaming和Kafka集成主要有Receiver based Approach和Di ...

  9. Confluent Platform 3.0支持使用Kafka Streams实现实时的数据处理(最新版已经是3.1了,支持kafka0.10了)

    来自 Confluent 的 Confluent Platform 3.0 消息系统支持使用 Kafka Streams 实现实时的数据处理,这家公司也是在背后支撑 Apache Kafka 消息框架 ...

随机推荐

  1. 自定义控件如何给特殊类型的属性添加默认值 z(转)

    自定义控件如何给特殊类型的属性添加默认值 z 定义控件如何给特殊类型的属性添加默认值了,附自定义GroupBox一枚 标题有点那啥,但确实能表达我掌握此法后的心情. 写自定义控件时往往会有一个需求,就 ...

  2. Centos7 ftp服务器搭建

    1.使用yum安装ftp服务端: yum install -y vsftpd 2.使用yum安装ftp客户端: yum install -y ftp.x86_64 3.开启ftp服务设置开机启动并查看 ...

  3. 获取用户Ip地址通用方法常见安全隐患(HTTP_X_FORWARDED_FOR)

    分析过程 这个来自一些项目中,获取用户Ip,进行用户操作行为的记录,是常见并且经常使用的. 一般朋友,都会看到如下通用获取IP地址方法. function getIP() { if (isset($_ ...

  4. sublime text 3 PHP 所需插件

    1. PHP代码语法验证插件:SublimeLinter 2.Bracket Highlighter 用于匹配括号,引号和html标签.对于很长的代码很有用.安装好之后,不需要设置插件会自动生效 3. ...

  5. 初进JAVA职场面试小技巧:一个老学长的吐血之作!

    看着一批批小白的遭遇,有些无奈,又跟我年轻时有些类似.今天正好有点时间,给你几个建议. 1.在结业之前一定要把自己参与过的项目仔细审视一下,一点要特别熟悉项目的流程功能,另外也要重视自己做过的模块,看 ...

  6. POJ 1185 炮兵阵地 经典的 状态压缩dp

    炮兵阵地 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 16619   Accepted: 6325 Description ...

  7. openMP编程(上篇)之并行程序设计

    openMP简介 openMP是一个编译器指令和库函数的集合,主要是为共享式存储计算机上的并行程序设计使用的. 当计算机升级到多核时,程序中创建的线程数量需要随CPU核数变化,如在CPU核数超过线程数 ...

  8. java设计模式之装饰者模式学习

    装饰者模式 Decorator模式(别名Wrapper):动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案. 装饰者与被装饰者拥有共同的超类,继承的目的是继承类型,而不是行为 ...

  9. PAT 1071. Speech Patterns

    又是考输入输出 #include <cstdio> #include <cstdlib> #include <string> #include <vector ...

  10. 爬虫之lxml - etree - xpath的使用

    # 解析原理: # - 获取页面源码数据 # - 实例化一个etree对象,并且将页面源码数据加载到该对象中 # - 调用该对象的xpath方法进行指定标签定位 # - xpath函数必须结合着xpa ...