linux kafka常用命令

启动:bin/zookeeper-server-start.sh config/zookeeper.properties

创建topic:

    kafka版本 < 2.2:bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

    kafka版本 >= 2.2:bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

查看已有topic:> bin/kafka-topics.sh --list --zookeeper localhost:2181

发送消息:bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test


查看收到到的消息:bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

消费消息:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test  (表示从 latest 位移位置开始消费该主题的所有分区消息,即仅消费正在写入的消息

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic test(从指定主题中有效的起始位移位置开始消费所有分区的消息)

kafka集群情况下,一般一个服务对应一个副本。

设置多个副本数:bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic test

设置分区:./bin/kafka-topics.sh --alter --zookeeper localhost:2181 --topic test --partitions 8

查看每个集群副本:> bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group groupid

 ####详细说明

LogEndOffset 下一条将要被加入到日志的消息的位移

CurrentOffset 当前消费的位移

LAG 消息堆积量

消息堆积量:消息中间件服务端中所留存的消息与消费掉的消息之间的差值即为消息堆积量也称之为消费滞后量

处理 rebalance 问题,先搞清楚 kafaka 消费者配置的四个参数:

session.timeout.ms 设置了超时时间
heartbeat.interval.ms 心跳时间间隔
max.poll.interval.ms 每次消费的处理时间
max.poll.records 每次消费的消息数
session.timeout.ms 表示 consumer 向 broker 发送心跳的超时时间。例如 session.timeout.ms = 180000 表示在最长 180 秒内 broker 没收到 consumer 的心跳,那么 broker 就认为该 consumer 死亡了,会启动 rebalance。

heartbeat.interval.ms 表示 consumer 每次向 broker 发送心跳的时间间隔。heartbeat.interval.ms = 60000 表示 consumer 每 60 秒向 broker 发送一次心跳。一般来说,session.timeout.ms 的值是 heartbeat.interval.ms 值的 3 倍以上。

max.poll.interval.ms 表示 consumer 每两次 poll 消息的时间间隔。简单地说,其实就是 consumer 每次消费消息的时长。如果消息处理的逻辑很重,那么市场就要相应延长。否则如果时间到了 consumer 还么消费完,broker 会默认认为 consumer 死了,发起 rebalance。

max.poll.records 表示每次消费的时候,获取多少条消息。获取的消息条数越多,需要处理的时间越长。所以每次拉取的消息数不能太多,需要保证在 max.poll.interval.ms 设置的时间内能消费完,否则会发生 rebalance。

简单来说,会导致崩溃的几个点是:

消费者心跳超时,导致 rebalance。
消费者处理时间过长,导致 rebalance。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 以下是一些常用的 Linux Kafka 命令: 1. 启动 Kafka: ``` bin/kafka-server-start.sh config/server.properties ``` 2. 创建主题: ``` bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic my_topic ``` 3. 查看主题列表: ``` bin/kafka-topics.sh --list --zookeeper localhost:2181 ``` 4. 生产者发送消息: ``` bin/kafka-console-producer.sh --broker-list localhost:9092 --topic my_topic ``` 5. 消费者消费消息: ``` bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my_topic --from-beginning ``` 6. 查看主题详情: ``` bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my_topic ``` 以上是一些常用的 Kafka 命令,你可以根据实际需求进行相应的使用。 ### 回答2: Kafka是一个分布式流处理平台,广泛用于构建高性能、可扩展的实时数据管道。下面是一些常见的Linux Kafka命令: 1. 启动Kafka服务器:使用命令`bin/kafka-server-start.sh config/server.properties`来启动Kafka服务器。在启动之前,你可能需要先配置好服务器属性。 2. 创建一个主题:使用命令`bin/kafka-topics.sh --create --topic <topic-name> --bootstrap-server <bootstrap-server> --partitions <num-partitions> --replication-factor <replication-factor>`来创建一个新的主题。在命令中,你需要指定主题的名称、分区数和复制因子。 3. 查看主题列表:使用命令`bin/kafka-topics.sh --list --bootstrap-server <bootstrap-server>`来查看当前Kafka服务器中的所有主题。 4. 查看主题详情:使用命令`bin/kafka-topics.sh --describe --topic <topic-name> --bootstrap-server <bootstrap-server>`来查看特定主题的详细信息,包括它的分区、领导者等信息。 5. 创建一个生产者:使用命令`bin/kafka-console-producer.sh --broker-list <broker-list> --topic <topic-name>`来创建一个简单的控制台生产者,用于向指定主题发送消息。 6. 创建一个消费者:使用命令`bin/kafka-console-consumer.sh --bootstrap-server <bootstrap-server> --topic <topic-name> --from-beginning`来创建一个简单的控制台消费者,用于从指定主题接收消息。 这些只是一些常见的Kafka命令Kafka还有很多其他功能和命令供使用。你可以通过查阅官方文档或者在命令行中输入`bin/kafka-topics.sh`来获取更多详细的命令和选项。 ### 回答3: Kafka是一个开源的分布式流媒体平台,用于构建高性能、可扩展的实时数据流应用程序。Kafka提供了一组命令行工具,用于管理和操作Kafka集群。下面是一些常用的Kafka命令及其说明: 1. kafka-topics.sh:用于创建、查看和操作主题(topics)。可以使用该命令创建新的主题、查看现有主题的详细信息,并执行其他与主题相关的操作。例如,创建一个新的主题可以使用以下命令kafka-topics.sh --bootstrap-server <kafka服务器地址> --create --topic <主题名称> --partitions <分区数> --replication-factor <复制因子> 2. kafka-console-producer.sh:用于从命令行中发送消息到Kafka主题中。可以使用该命令将指定的消息发送到指定的主题中。例如,发送一条消息可以使用以下命令kafka-console-producer.sh --bootstrap-server <kafka服务器地址> --topic <主题名称> 3. kafka-console-consumer.sh:用于从Kafka主题中消费消息,并将其打印到命令行中。可以使用该命令订阅指定的主题,并消费该主题中的消息。例如,消费主题中的消息可以使用以下命令kafka-console-consumer.sh --bootstrap-server <kafka服务器地址> --topic <主题名称> --from-beginning 4. kafka-configs.sh:用于管理Kafka集群的配置。可以使用该命令查看和更新Kafka配置的详细信息,例如,查看或更新集群的最大存储容量、最大连接数等。例如,查看集群的配置可以使用以下命令kafka-configs.sh --bootstrap-server <kafka服务器地址> --describe --entity-type brokers --entity-name <broker-id> 5. kafka-consumer-groups.sh:用于管理和监控Kafka消费者组。可以使用该命令查看消费者组的详细信息,例如,消费者组的偏移量、消费者组的成员等。例如,查看消费者组的信息可以使用以下命令kafka-consumer-groups.sh --bootstrap-server <kafka服务器地址> --group <消费者组名称> --describe 这些命令Kafka提供的主要工具,通过这些命令可以对Kafka集群中的主题、消息、配置和消费者组进行管理和操作,从而实现高效的数据流处理和分析。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值