jmeter中执行kafka topic指令
前置条件
kafka版本:2.2.1
jmeter版本:5.3
插件:ApacheJMeter_ssh-1.2.0.jar
1.拷贝 ApacheJMeter_ssh-1.2.0.jar 到/lib/ext目录下
2.拷贝 jsch-0.1.55.jar 到/lib目录下
3.启动jmeter后,在Sampler下找到SSH Command和SSH SFTP进行配置后,可以让jmeter与linux进行交互
kafka 常用指令:
- 查看offset
使用kafka bin路径下kafka-run-class.sh可实现topic 偏移量查看,需要填写的参数如下:
--broker-list | <String: hostname: REQUIRED: The list of hostname and port,...,hostname:port> port of the server to connect to. |
--max-wait-ms | <Integer: ms> DEPRECATED AND IGNORED: The max amount of time each fetch request waits. (default: 1000) |
--offsets | <Integer: count> DEPRECATED AND IGNORED: number of offsets returned (default: 1) |
--partitions | <String: partition ids> comma separated list of partition ids. If not specified, it will find offsets for all partitions (default:) |
--time | <Long: timestamp/-1(latest)/-2 timestamp of the offsets before that (earliest)> (default: -1) |
--topic | <String: topic> REQUIRED: The topic to get offset from. |
查看指定topic偏移量—— --time=-1
./bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list service-kafka-admin-broker-0:9092 -topic test_by_cheliang --time -1
test_by_cheliang:0:0
test_by_cheliang:1:2
test_by_cheliang:2:0
test_by_cheliang:3:0
test_by_cheliang:4:0
test_by_cheliang:5:0
test_by_cheliang:6:0
test_by_cheliang:7:0
test_by_cheliang:8:0
test_by_cheliang:9:0
返回kafka topic所有分区的最大偏移量值
查看指定分区topic偏移量—— --time=-1
./bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list service-kafka-admin-broker-0:9092 --partitions 1 -topic test_by_cheliang -time -1
test_by_cheliang:1:2
返回kafka topic指定分区的最大偏移量值
查看topic偏移量—— --time=-2
./bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list service-kafka-admin-broker-0:9092 --topic test_by_cheliang --time -2
test_by_cheliang:0:0
test_by_cheliang:1:0
test_by_cheliang:2:0
test_by_cheliang:3:0
test_by_cheliang:4:0
test_by_cheliang:5:0
test_by_cheliang:6:0
test_by_cheliang:7:0
test_by_cheliang:8:0
test_by_cheliang:9:0
返回kafka topic指定分区的最小偏移量值
查看topic偏移量——不指定time参数
./bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list service-kafka-admin-broker-0:9092 --topic test_by_cheliang
test_by_cheliang:0:0
test_by_cheliang:1:2
test_by_cheliang:2:0
test_by_cheliang:3:0
test_by_cheliang:4:0
test_by_cheliang:5:0
test_by_cheliang:6:0
test_by_cheliang:7:0
test_by_cheliang:8:0
test_by_cheliang:9:0
不指定time参数,默认返回所有topic分区最大偏移量
./kafka-topic.sh相关
--alter |
Alter the number of partitions,replica assignment, and/orconfiguration for the topic. |
--bootstrap-server <String: server to connect to> |
kafka连接信息 |
--command-config <String: command config property file> |
Property file containing configs to be passed to Admin Client. This is vused only with --bootstrap-server option for describing nd altering broker configs. |
--config <String: name=value> |
A topic configuration override for the topic being created or altered.The following is a list of valid configurations:cleanup.policy compression.type delete.retention.ms |
--create | Create a new topic. |
--delete | Delete a topic. |
--delete-config <String: name> |
A topic configuration override to be removed for an existing topic (see the list of configurations under the --config option). Not supported with the --bootstrap-server option. |
--describe | List details for the given topics. |
--disable-rack-aware | Disable rack aware replica assignment |
--exclude-internal |
exclude internal topics when running list or describe command. The internal topics will be listed by default |
--force | Suppress console prompts |
--help | Print usage information. |
--if-exists |
if set when altering or deleting or describing topics, the action will only execute if the topic exists. Not supported with the --bootstrap- server option. |
--if-not-exists |
if set when creating topics, the action will only execute if the topic does not already exist. Not supported with the --bootstrap- server option. |
--list | List all available topics. |
--replica-assignment <String: |
A list of manual partition-to-broker assignments for the topic being created or altered. |
--replication-factor <Integer: |
The replication factor for each partition in the topic being |
--topic <String: topic> |
The topic to create, alter, describe or delete. It also accepts a regular expression, except for --create option. Put topic name in double quotes and use the '\' prefix to escape regular expression symbols; e.g. "test\.topic". |
--topics-with-overrides |
if set when describing topics, only show topics that have overridden configs |
--unavailable-partitions |
if set when describing topics, only show partitions whose leader is not available |
--under-replicated-partitions |
if set when describing topics, only show under replicated partitions |
--zookeeper <String: hosts> |
DEPRECATED, The connection string for the zookeeper connection in the form host:port. Multiple hosts can be given to allow fail-over. |
--partitions <Integer: # of partitions> |
The number of partitions for the topic being created or altered (WARNING: If partitions are increased for a topic that has a key, the partition logic or ordering of the messages will be affected |
查看kafka topic
返回所有kafka topic
# ./kafka-topics.sh --bootstrap-server service-kafka-admin-broker-0:9092 --list
test_by_cheliang_mutil
test_by_cheliang_single
__consumer_offsets
返回用户手动创建topic
# ./kafka-topics.sh --bootstrap-server service-kafka-admin-broker-0:9092 --list --exclude-internal
test_by_cheliang_mutil
test_by_cheliang_single
- 创建kafka topic
./kafka-topics.sh --create --bootstrap-server service-kafka-admin-broker-0:9092 --topic hxf_test --replication-factor 1 --partitions 1
WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.
查看topic情况
./kafka-topics.sh --bootstrap-server service-kafka-hxfaaa-broker-0:9092 --describe --topic hxf_test
Topic:hxf_test PartitionCount:1 ReplicationFactor:1 Configs:min.insync.replicas=1,segment.bytes=1073741824,max.message.bytes=1000000
Topic: hxf_test Partition: 0 Leader: 0 Replicas: 0 Isr: 0
修改kafka topic属性
# ./kafka-topics.sh --bootstrap-server service-kafka-admin-broker-0:9092 --alter --partitions 10 --topic hxf_test
./kafka-topics.sh --bootstrap-server service-kafka-admin-broker-0:9092 --describe --topic hxf_test
Topic:hxf_test PartitionCount:10 ReplicationFactor:1 Configs:min.insync.replicas=1,segment.bytes=1073741824,max.message.bytes=1000000
Topic: hxf_test Partition: 0 Leader: 0 Replicas: 0 Isr: 0
Topic: hxf_test Partition: 1 Leader: 0 Replicas: 0 Isr: 0
Topic: hxf_test Partition: 2 Leader: 0 Replicas: 0 Isr: 0
Topic: hxf_test Partition: 3 Leader: 0 Replicas: 0 Isr: 0
Topic: hxf_test Partition: 4 Leader: 0 Replicas: 0 Isr: 0
Topic: hxf_test Partition: 5 Leader: 0 Replicas: 0 Isr: 0
Topic: hxf_test Partition: 6 Leader: 0 Replicas: 0 Isr: 0
Topic: hxf_test Partition: 7 Leader: 0 Replicas: 0 Isr: 0
Topic: hxf_test Partition: 8 Leader: 0 Replicas: 0 Isr: 0
Topic: hxf_test Partition: 9 Leader: 0 Replicas: 0 Isr: 0
consumer-group相关
# 查看某消费组(consumer_group)具体消费情况(活跃的消费者以及lag情况等等)
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --describe
# 列出当前所有的消费组
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
# 旧版
bin/kafka-consumer-groups.sh --zookeeper 127.0.0.1:2181 --group test_group --describe
consumer相关
# 消费数据(从latest消费)
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_topic
# 消费数据(从头开始消费)
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_topic --from-beginning
# 消费数据(最多消费多少条就自动退出消费)
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_topic --max-messages 1
# 消费数据(同时把key打印出来)
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_topic --property print.key=true
# 旧版
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test_topic
producer相关
# 生产数据
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test_topic
# 生产数据(写入带有key的message)
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test_topic --property "parse.key=true" --property "key.separator=:"
jmeter中执行kafka topic指令的更多相关文章
- 如何在 ubuntu linux 一行中执行多条指令
cd /my_folder rm *.jar svn co path to repo mvn compile package install 使用&& 运算符连接指令 cd /my_f ...
- 使用JMeter进行Apache Kafka负载测试
1.卡夫卡负载测试 在这个Apache Kafka教程中,我们将了解如何使用Apache JMeter,如何在Apache Kafka上执行Kafka负载测试.此外,这个Kafka负载测试教程教我们如 ...
- JMeter进行Apache Kafka负载测试
1.卡夫卡负载测试 在这个Apache Kafka教程中,我们将了解如何使用Apache JMeter,如何在Apache Kafka上执行Kafka负载测试.此外,这个Kafka负载测试教程教我们如 ...
- JMeter 中的如何区分 Server Time 和 Network Time
在 LR 中是有一个“网页细分图”的,通过这个图,你可以比较容易的区分哪些请求的响应时间最长,如果响应时间过程,是消耗在server处理的时候,还是消耗在网络传输过程中——也就是所谓的 Server ...
- 【转】Jmeter中使用CSV Data Set Config参数化不重复数据执行N遍
Jmeter中使用CSV Data Set Config参数化不重复数据执行N遍 要求: 今天要测试上千条数据,且每条数据要求执行多次,(模拟多用户多次抽奖) 1.用户id有175个,且没有任何排序规 ...
- 浏览器中调用PHP在执行linux sudo指令时报sudo: sorry, you must have a tty to run sudo
在php程序中使用了exec函数调用sudo指令,在浏览器中访问后,报sudo: sorry, you must have a tty to run sudo错误. 按照网上搜到的方法,修改/etc/ ...
- Jmeter===Jmeter中使用CSV Data Set Config参数化不重复数据执行N遍(转)
Jmeter中使用CSV Data Set Config参数化不重复数据执行N遍 要求: 今天要测试上千条数据,且每条数据要求执行多次,(模拟多用户多次抽奖) 1.用户id有175个,且没有任何排序规 ...
- jmeter中重要组件及其执行顺序
jmeter中重要组件有:Sampler,计时器,前置处理器和后置处理器,断言,Controller,Listener和配置原件. 同类组件之间是从上到下的顺序执行,不同组件之间是按照以下的顺序执行的 ...
- Jmeter中的几个重要测试指标释义
一.基本概念 1.测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器. 2.线程组:代表一定数量的并发用户,它可以用来模拟并发用户发送请求.实际的请求内容在Sampl ...
随机推荐
- 一文弄懂CGAffineTransform和CTM
一文弄懂CGAffineTransform和CTM 一些概念 坐标空间(系):视图(View)坐标空间与绘制(draw)坐标空间 CTM:全称current transformation matrix ...
- Python 面向对象笔记
Python 面向对象课程笔记 前言 Python 面向对象 正文 基本概念 什么是对象: 万物皆对象 对象是具体物体: 拥有属性 拥有行为 封装零散为整体 OOP(Object Oriented P ...
- Boost Started on Unix Variants
- javascriptRemke之类的继承
前言:es6之前在js中要实现继承,就必须要我们程序员在原型链上手动继承多对象的操作,但是结果往往存在漏洞,为解决这些问题,社区中出现了盗用构造函数.组合继承.原型式继承.寄生式继承等一系列继承方式, ...
- (四)、Docker 镜像
1.Docker镜像是什么? 镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码.运行时.库.环境变量和配置文件. 2.Do ...
- 函数指针和qsort函数
1.函数指针的形式: 函数指针:int (*funcP) (int *a, int *b) 表示定义了一个funcP函数指针,指向了返回值为int类型,参数为int* 和int* 的函数 使用方式: ...
- C语言链表实例--玩转链表
下图为最一简单链表的示意图: 第 0 个结点称为头结点,它存放有第一个结点的首地址,它没有数据,只是一个指针变量.以下的每个结点都分为两个域,一个是数据域,存放各种实际的数据,如学号 num,姓名 n ...
- 常用Java API: ArrayList(Vector) 和 LinkedList
摘要: 本文主要介绍ArrayList(Vector)和LinkedList的常用方法, 也就是动态数组和链表. ArrayList ArrayList 类可以实现可增长的对象数组. 构造方法 Arr ...
- (转)linux下execl和system函数
linux下,system函数和execl函数都是用于执行一条系统命令.今天仔细看了system函数的实现,想找出和execl函数的差别. 这里先进行一些背景知识补充: fork(创建一个新的进程): ...
- binary-tree-preorder-traversal leetcode C++
Given a binary tree, return the preorder traversal of its nodes' values. For example: Given binary t ...