linux系统kafka常用命令

进入kafka目录(非bin目录)

cd /usr/local/kafka/kafka_2.11-2.1.0

Kafka启动命令(备注:先进入kafka目录)

常规模式启动kafka

bin/kafka-server-start.sh config/server.properties

进程守护模式启动kafka

nohup bin/kafka-server-start.sh config/server.properties

Kafka关闭命令(备注:先进入kafka目录)

bin/kafka-server-stop.sh

查看kafka是否成功启动

jps(显示的有进程号代表成功)

创建Topic(1个分区,1个副本)

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic mytest

--create:创建主题的动作指令

--zookeeper:指定kafka所连接的zookeeper服务地址

--topic:指定了所要创建主题的名称

--partitions:指定了分区个数

--replication-factor:指定了副本因子 一个broker创建topic的时候只能是一个副本 

查看topic详情

bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic mytest

--describe:查看详情动作指令

修改Topic分区数

./bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic mytest --partitions 6

topic列表查询(备注:先进入kafka目录)

./bin/kafka-topics.sh --list --zookeeper localhost:2181

删除topic

bin/kafka-topics.sh --delete --zookeeper localhost:2181  --topic mytest5

方式二

// 进入zk客户端
./zkCli.sh -server localhost:2181
// 查看所有topic
ls /brokers/topics
// 删除topic
rmr /brokers/topics/test1

查看集群中各个broker的分区副本的分配情况

// 进入zk客户端
./zkCli.sh -server localhost:2181
// 查看分配情况
get /brokers/topics/mytopic

创建生产者

./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mytest

ps. 1)若producer 和 consumer 两个窗口同时打开,在producer输入信息,consumer会立即消费信息并打印在终端

创建消费者

./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytest

启动生产者和消费者时开始报错:could not be established. Broker may not be available

在配置plaintext的时候,若配置的是152.189.36.2:如:listeners=PLAINTEXT://152.189.36.2:9092

那么启动消费者的时候应该将localhost换为152.189.36.2

/bin/kafka-console-consumer.sh --bootstrap-server 152.189.36.2:9092 --topic mytest

console-consumer 从头重新消费topic中的消息

./bin/kafka-console-consumer.sh --bootstrap-server 152.189.36.2:9092 --topic mytest --from-beginning

查看消费者的消费偏移量offset-查看特定consumer group 详情

./bin/kafka-consumer-groups.sh --bootstrap-server 152.189.36.2:9092 --group mygroup --describe

CURRENT-OFFSET: 当前消费者群组最近提交的offset,也就是消费者分区里读取的当前位置

LOG-END-OFFSET: 当前最高水位偏移量,也就是最近一个读取消息的偏移量,同时也是最近一个提交到集群的偏移量

LAG:消费者的CURRENT-OFFSET与broker的LOG-END-OFFSET之间的差距

命令参数说明:

topic作用域:当前有3种作用域指定方式:--all-topics(为consumer group下所有topic的所有分区调整位移),--topic t1 --topic t2(为指定的若干个topic的所有分区调整位移),--topic t1:0,1,2(为指定的topic分区调整位移)

唯一重设策略:

  • --to-earliest:把位移调整到分区当前最小位移

  • --to-latest:把位移调整到分区当前最新位移

  • --to-current:把位移调整到分区当前位移

  • --to-offset <offset>: 把位移调整到指定位移处

  • --shift-by N: 把位移调整到当前位移 + N处,注意N可以是负数,表示向前移动

  • --to-datetime <datetime>:把位移调整到大于给定时间的最早位移处,datetime格式是yyyy-MM-ddTHH:mm:ss.xxx,比如2017-08-04T00:00:00.000

  • --by-duration <duration>:把位移调整到距离当前时间指定间隔的位移处,duration格式是PnDTnHnMnS,比如PT0H5M0S

  • --from-file <file>:从CSV文件中读取调整策略

执行方案:

  • 什么参数都不加:只是打印出位移调整方案,不具体执行

  • --execute:执行真正的位移调整

  • --export:把位移调整方案按照CSV格式打印,方便用户成csv文件,供后续直接使用

查看消费者组列表

./bin/kafka-consumer-groups.sh --bootstrap-server 152.189.36.2:9092 --list

将消费者偏移量设置为最初偏移量

./bin/kafka-consumer-groups.sh --bootstrap-server 172.31.218.92:9092 --group mygroup --topic test5 --reset-offsets --to-earliest --execute

执行结果:

可看到新的offset为0了,再次查看消费者偏移量:

如上可以看到,test5的current-offset都变为了0,log-end-offset和lag变为了一样

将消费者偏移量设置为任意偏移量

./bin/kafka-consumer-groups.sh --bootstrap-server 172.31.218.92:9092 --group mygroup --topic test5 --reset-offsets --to-offset 3 –execute

将消费者偏移量设置为最近偏移量

 

使用jmap查看kafka当前的堆内存信息

jmap -heap 17784 (17784为kafka进程号  通过jps可查看)

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值