3.kafka 基本配置
1.主题管理
kafka-topics.sh工具脚本用于对主题操作,如创建、删除、修改、分区数、副本数及主题级别的配置。
1.1创建名为kafka-test主题,有2个副本,3个分区
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --create --zookeeper h201:2181,h202:2181,h203:2181 --replication-factor 2 --partitions 3 --topic kafka-test
输出:
Created topic "kafka-test".
####
--zookeeper 参数必传,用于与zookeeper连接
--partitions 参数必传,用于设置分区数
--replication-factor 参数必传,用于设置副本数
####
1.2进入log目录
[hadoop@h201 kafka_2.12-0.10.2.1]$ cd kafkalogs/
[hadoop@h201 kafkalogs]$ ls
kafka-test-1kafka-test-0
##副本分布到不同的节点上###
h202上
[hadoop@h202 kafkalogs]$ ls
kafka-test-2kafka-test-1
[hadoop@h201 zookeeper-3.4.5-cdh5.5.2]$ bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 1] ls /brokers/topics/kafka-test/partitions
结果:
[0, 1, 2]
[zk: localhost:2181(CONNECTED) 2] get /brokers/topics/kafka-test
1.3 创建主题时,可以通过config参数设置主题级别以覆盖默认配置
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --create --zookeeper h201:2181,h202:2181,h203:2181 --replication-factor 2 --partitions 3 --topic kafka-test1 --config max.message.bytes=404800
[hadoop@h201 zookeeper-3.4.5-cdh5.5.2]$ bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 1] get /config/topics/kafka-test1
结果:
{"version":1,"config":{"max.message.bytes":"404800"}}
2.删除主题
若想彻底删除,启动时加载server.properties文件中配置delete.topic.enable=true,默认为false
如果没有设置为true,只是标记kafka-test1为删除状态,当设置为true时删除文件目录及元数据。
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --delete --zookeeper h201:2181,h202:2181,h203:2181 --topic kafka-test1
3.查看主题
3.1
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --list --zookeeper h201:2181,h202:2181,h203:2181
3.2查看详细描述信息
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --describe --zookeeper h201:2181,h202:2181,h203:2181
3.3 查看处于正在同步主题
可以看到正在处于“under replicated”状态分区,该状态可能为正在同步或同步异常。
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --describe --zookeeper h201:2181,h202:2181,h203:2181 --under-replicated-partitions
3.4 查看没有leader的分区
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --describe --zookeeper h201:2181,h202:2181,h203:2181 --unavailable-partitions
3.5 查看主题覆盖的配置
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --describe --zookeeper h201:2181,h202:2181,h203:2181 --topics-with-overrides
4.修改主题
4.1
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --alter --zookeeper h201:2181,h202:2181,h203:2181 --topic kafka-test --config segment.bytes=209715200
##段大小 修改为200m##
4.2 删除修改
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --alter --zookeeper h201:2181,h202:2181,h203:2181 --topic kafka-test --delete-config segment.bytes
4.3 增加分区
Kafka不支持减少分区操作,只能增加分区操作
主题kafka-test当前分区数为3个,调整为5个
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --alter --zookeeper h201:2181,h202:2181,h203:2181 --topic kafka-test --partitions 5
[zk: localhost:2181(CONNECTED) 1] ls /brokers/topics/kafka-test/partitions
结果:
[0, 1, 2, 3, 4]
5.生产者操作
使用kafka-console-producer.sh脚本
参数producer.config:用于加载一个生产者配置文件
参数producer-property:用于设置参数将会覆盖所加载的配置文件中的参数
参数property:用于设置消息消费者相关配置
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-console-producer.sh --broker-list h201:9092,h202:9092,h203:9092 --topic kafka-test
必传参数--broker-list,--topic
测试:(显示主题下各个分区的偏移量)
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list h201:9092,h202:9092,h203:9092 --topic kafka-test --time -1
##kafka-run-class.sh为kafka自带测试工具###
6.消费者操作
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-console-consumer.sh --zookeeper h201:2181,h202:2181,h203:2181 --topic kafka-test --consumer-property group.id=consumer-g1 --from-beginning
消费者创建时会向zookeeper中注册元数据信息 /consumers/${group.id}
---------------------测试-------------------------
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-console-producer.sh --broker-list h201:9092,h202:9092,h203:9092 --topic kafka-test
添加测试消息内容
hello kafka
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-console-consumer.sh --zookeeper h201:2181,h202:2181,h203:2181 --topic kafka-test --consumer-property group.id=consumer-g1 --from-beginning
能够接收到 “hello kafka”消息内容
1. 主题管理
kafka-topics.sh工具脚本用于对主题操作,如创建、删除、修改、分区数、副本数及主题级别的配置。
1.1 创建名为kafka-test主题,有2个副本,3个分区
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --create --zookeeper h201:2181,h202:2181,h203:2181 --replication-factor 2 --partitions 3 --topic kafka-test
输出:
Created topic "kafka-test".
####
--zookeeper 参数必传,用于与zookeeper连接
--partitions 参数必传,用于设置分区数
--replication-factor 参数必传,用于设置副本数
####
1.2进入log目录
[hadoop@h201 kafka_2.12-0.10.2.1]$ cd kafkalogs/
[hadoop@h201 kafkalogs]$ ls
kafka-test-1kafka-test-0
##副本分布到不同的节点上###
h202上
[hadoop@h202 kafkalogs]$ ls
kafka-test-2kafka-test-1
[hadoop@h201 zookeeper-3.4.5-cdh5.5.2]$ bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 1] ls /brokers/topics/kafka-test/partitions
结果:
[0, 1, 2]
[zk: localhost:2181(CONNECTED) 2] get /brokers/topics/kafka-test
1.3 创建主题时,可以通过config参数设置主题级别以覆盖默认配置
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --create --zookeeper h201:2181,h202:2181,h203:2181 --replication-factor 2 --partitions 3 --topic kafka-test1 --config max.message.bytes=404800
[hadoop@h201 zookeeper-3.4.5-cdh5.5.2]$ bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 1] get /config/topics/kafka-test1
结果:
{"version":1,"config":{"max.message.bytes":"404800"}}
2. 删除主题
若想彻底删除,启动时加载server.properties文件中配置delete.topic.enable=true,默认为false
如果没有设置为true,只是标记kafka-test1为删除状态,当设置为true时删除文件目录及元数据。
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --delete --zookeeper h201:2181,h202:2181,h203:2181 --topic kafka-test1
3. 查看主题
3.1
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --list --zookeeper h201:2181,h202:2181,h203:2181
3.2查看详细描述信息
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --describe --zookeeper h201:2181,h202:2181,h203:2181
3.3 查看处于正在同步主题
可以看到正在处于“under replicated”状态分区,该状态可能为正在同步或同步异常。
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --describe --zookeeper h201:2181,h202:2181,h203:2181 --under-replicated-partitions
3.4 查看没有leader的分区
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --describe --zookeeper h201:2181,h202:2181,h203:2181 --unavailable-partitions
3.5 查看主题覆盖的配置
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --describe --zookeeper h201:2181,h202:2181,h203:2181 --topics-with-overrides
4. 修改主题
4.1
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --alter --zookeeper h201:2181,h202:2181,h203:2181 --topic kafka-test --config segment.bytes=209715200
##段大小 修改为200m##
4.2 删除修改
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --alter --zookeeper h201:2181,h202:2181,h203:2181 --topic kafka-test --delete-config segment.bytes
4.3 增加分区
Kafka不支持减少分区操作,只能增加分区操作
主题kafka-test当前分区数为3个,调整为5个
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-topics.sh --alter --zookeeper h201:2181,h202:2181,h203:2181 --topic kafka-test --partitions 5
[zk: localhost:2181(CONNECTED) 1] ls /brokers/topics/kafka-test/partitions
结果:
[0, 1, 2, 3, 4]
5. 生产者操作
使用kafka-console-producer.sh脚本
参数producer.config:用于加载一个生产者配置文件
参数producer-property:用于设置参数将会覆盖所加载的配置文件中的参数
参数property:用于设置消息消费者相关配置
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-console-producer.sh --broker-list h201:9092,h202:9092,h203:9092 --topic kafka-test
必传参数--broker-list,--topic
测试:(显示主题下各个分区的偏移量)
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list h201:9092,h202:9092,h203:9092 --topic kafka-test --time -1
##kafka-run-class.sh为kafka自带测试工具###
6. 消费者操作
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-console-consumer.sh --zookeeper h201:2181,h202:2181,h203:2181 --topic kafka-test --consumer-property group.id=consumer-g1 --from-beginning
消费者创建时会向zookeeper中注册元数据信息 /consumers/${group.id}
---------------------测试-------------------------
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-console-producer.sh --broker-list h201:9092,h202:9092,h203:9092 --topic kafka-test
添加测试消息内容
hello kafka
[hadoop@h201 kafka_2.12-0.10.2.1]$ bin/kafka-console-consumer.sh --zookeeper h201:2181,h202:2181,h203:2181 --topic kafka-test --consumer-property group.id=consumer-g1 --from-beginning
能够接收到 “hello kafka”消息内容
3.kafka 基本配置的更多相关文章
- Kafka 安装配置 windows 下
Kafka 安装配置 windows 下 标签(空格分隔): Kafka Kafka 内核部分需要安装jdk, zookeeper. 安装JDK 安装JDK就不需要讲解了,安装完配置下JAVA_HOM ...
- Kafka broker配置介绍 (四)
这部分内容对了解系统和提高软件性能都有很大的帮助,kafka官网上也给出了比较详细的配置详单,但是我们还是直接从代码来看broker到底有哪些配置需要我们去了解的,配置都有英文注释,所以每一部分是干什 ...
- kafka 相关配置
kafka主要配置包括三类:broker configuration,producer configuration and consumer configuration. Broker Config ...
- kafka 参数配置 1
kafka 参数配置 #参数配置 * broker.id : kafka 集群的唯一,标识每个broker * log.dirs : 指定kafka持久化消息的目录,可以设置多个目录,如:/home/ ...
- Storm Kafka与配置和代码集成
1.目标 - 风暴卡夫卡整合 在本Kafka教程中,我们将学习Storm Kafka Integration的概念.此外,我们将在此Kafka Storm集成教程中讨论Storm架构,Storm Cl ...
- Kafka动态配置实现原理解析
问题导读 Apache Kafka在全球各个领域各大公司获得广泛使用,得益于它强大的功能和不断完善的生态.其中Kafka动态配置是一个比较高频好用的功能,下面我们就来一探究竟. 动态配置是如何设计的? ...
- Spring Boot 自定义kafka 消费者配置 ContainerFactory最佳实践
Spring Boot 自定义kafka 消费者配置 ContainerFactory最佳实践 本篇博文主要提供一个在 SpringBoot 中自定义 kafka配置的实践,想象这样一个场景:你的系统 ...
- 一、kafka 安装配置
Kafka是什么 Kafka最初是由LinkedIn公司采用Scala语言开发的一个分布式.多分区.多副本且基于ZooKeeper协调的内部基础设置,现已捐献给Apache基金会.Kafka是一个流平 ...
- 3.kafka安装配置
kafka安装配置 ### 1.集群规划 hadoop102 hadoop103 hadoop104 zk zk zk kafka kafka kafka jar包下载 http://kafka.ap ...
- SpringCloudStream(RabbitMQ&Kafka)&Spring-Kafka配置使用
目录 是什么 解决问题 使用方式 创建生产者项目 pom yml 生产消息方法 接口 实现 创建消费者项目 pom yml 接收消息方法 重复消费 消费者yml 持久化 消费者负载个性配置(预拉取) ...
随机推荐
- typescript - 8.命名空间
基础 略. https://www.tslang.cn/docs/handbook/namespaces.html 多文件中的命名空间(一个文件分解为几个) 现在,我们把Validation命名空间分 ...
- IDEA 加载maven工程时
IDEA首次加载maven文件时,会无法编译,需要更新maven版本才行. 此处选择“add as maven project”. 然后点击maven对话框中的同步按钮,若仍无法更新,需要删除原有配置 ...
- shell中跳出循环语句break和continue
在使用while或for循环语句过程中,也许碰到某个特殊条件,我们需要跳过当次循环或整个循环,这是就需要借助break和continue. break表示跳出本层循环,break n表示跳出循环的层数 ...
- Pytorch 类别平衡化处理
采用 WeightedRandomSampler: def make_weights_for_balanced_classes(images, nclasses): count = [0] * nc ...
- Kubernetes 配置管理 Dashboard(十三)
目录 一.安装配置 1.1 下载 镜像 1.2.安装 1.3.修改 NodePort 二.配置授权 Kubernetes 所有的操作我们都是通过命令行工具 kubectl 完成的.为了提供更丰富的用户 ...
- 逸鹏说道公众号福利:逆天常用的一些谷歌浏览器插件V1.3
插件导出:http://www.cnblogs.com/dunitian/p/5426552.html 插件导入:https://www.cnblogs.com/dotnetcrazy/p/97537 ...
- sorted内置函数
对List.Dict进行排序,Python提供了两个方法 --------------------------------sorted--------------------------------- ...
- linux echo -e 处理特殊字符
linux echo -e 处理特殊字符 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:\a 发出警告声:\b 删除前一个字符:\c 最后不加上换行符号:\f 换行但光标仍旧停留 ...
- 记一次Docker中部署Asp.Net Core 3.0的踩坑过程
最近公司打算重构目前直销报单系统到微信小程序中,目前的系统只能在PC上面使用,这两年也搞过App端,但是由于人员流动和公司架构调整最后都不了了之,只留下一堆写了一半的接口.以前的接口依然是使用Asp. ...
- 在iis中部署网站出现的错误
第一次错误: 解决的方案:点击网站新建一个同名的应用池,选择网站的基本设置,选中同名的应用池 接下来可能会有第二个错误 错误摘要HTTP 错误 500.21 - Internal Server Err ...