一.主题操作
使用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. 虚拟机下linux 的root密码忘记怎么修改(转)

    1.开机时任意按一个方向键,进入界面,选择linux系统,按e键进入 2.然后用上下键选择kerner(内核)那一行,按e键进入编辑界面,编辑界面最后一行显示如下:(grub edit> ker ...

  2. Python基础(3) - 数据类型:1数字类型

    Python数据类型 数据类型 是否容器 是否可变 存储方式 数字 否 否 直接 字符串 否 否 直接 列表 是 是 顺序 元组 是 否 顺序 字典 是 是 映射 数字类型 整  型:1,234,0, ...

  3. Javascript 中 atob/btoa

    解决 Javascript 中 atob 方法解码中文字符乱码问题 由于一些网络通讯协议的限制,你必须使用 window.btoa() 方法对原数据进行编码后,才能进行发送.接收方使用相当于 wind ...

  4. 以前折腾的7zip图标

    7z.dll替换文件 http://files.cnblogs.com/colben/7zDll.7z

  5. html中块元素的居中。及兼容性

    块在块中垂直居中(父元素postion:relative;   子元素position:absolute; top:50%; margin-top:负二分之一高度) 块在块中水平居中 (子元素marg ...

  6. CSS3新属性注释及实例

    这里把CSS3的新属性单独拿出来讲解一下: border-radius 属性用于创建圆角 div { border:2px solid; border-radius:25px; -moz-border ...

  7. 从Pc转向H5开发遇到的适配问题思考

    1.首先说滚动条 移动端开发在不设置任何适配和viewport宽度的情况下,以iphone5为例:屏幕界面的逻辑分辨率是320x568,在谷歌浏览器的界面下屏幕的可视宽度是980px(谷歌设置的,每个 ...

  8. 第1章 初识CSS3

    什么是CSS3? CSS3是CSS2的升级版本,3只是版本号,它在CSS2.1的基础上增加了很多强大的新功能. 目前主流浏览器chrome.safari.firefox.opera.甚至360都已经支 ...

  9. js两个字符串明明一样却判断显示不相等

    一.问题 两个字符串看起来一样.类型一样,判断str1==str2时返回false: 二.原因 字符串可能含有其他特殊字符:换行符(%D).空格(%20)...一般不显示. 三.如何判断 encode ...

  10. 2-3 Sass的函数功能-列表函数

    列表函数主要包括一些对列表参数的函数使用,主要包括以下几种: length($list):返回一个列表的长度值: nth($list, $n):返回一个列表中指定的某个标签值 join($list1, ...