Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 卡夫卡中的默认消费者组id_Apache Kafka_Kafka Consumer Api_Spark Structured Streaming - Fatal编程技术网

Apache kafka 卡夫卡中的默认消费者组id

Apache kafka 卡夫卡中的默认消费者组id,apache-kafka,kafka-consumer-api,spark-structured-streaming,Apache Kafka,Kafka Consumer Api,Spark Structured Streaming,我正在使用卡夫卡2.11,而且对它还相当陌生。我试图了解卡夫卡消费群体,我有3个spark应用程序使用同一主题,每个应用程序都接收来自该主题的所有消息。由于我在应用程序中没有提到任何消费者组id,我假设Kafka正在为每个应用程序分配一些不同的消费者组id。 我需要使用下面的命令为其中一个应用程序重置kafka偏移量。因为我不知道我的应用程序的消费者组名称,所以我有点被困在这里。我是否需要在应用程序中显式分配组id,然后在下面的命令中使用它 ./kafka-consumer-groups.sh

我正在使用卡夫卡2.11,而且对它还相当陌生。我试图了解卡夫卡消费群体,我有3个spark应用程序使用同一主题,每个应用程序都接收来自该主题的所有消息。由于我在应用程序中没有提到任何消费者组id,我假设Kafka正在为每个应用程序分配一些不同的消费者组id。 我需要使用下面的命令为其中一个应用程序重置kafka偏移量。因为我不知道我的应用程序的消费者组名称,所以我有点被困在这里。我是否需要在应用程序中显式分配组id,然后在下面的命令中使用它

./kafka-consumer-groups.sh --bootstrap-server localhost:9092 --reset-offsets --to-datetime 2017-11-1907:52:43:00:000 --group <group_name> --topic <topic_name> --execute
如果这是真的,如何获取每个应用程序的消费者组id?我不能

消费者组。id是必需的。如果未设置consumer group.id,则会出现异常。很明显,您正在代码中的某个地方设置它,或者您正在使用的框架或库正在内部设置它。您应该始终自己设置group.id

您可以使用以下命令获取使用者组ID:

bin/kafka-consumer-groups.sh  --list --bootstrap-server <kafka-broker-ip>:9092
Consumer group.id是必填项。如果未设置consumer group.id,则会出现异常。很明显,您正在代码中的某个地方设置它,或者您正在使用的框架或库正在内部设置它。您应该始终自己设置group.id

您可以使用以下命令获取使用者组ID:

bin/kafka-consumer-groups.sh  --list --bootstrap-server <kafka-broker-ip>:9092
由于我在应用程序中没有提到任何消费者组id,我假设Kafka正在为每个应用程序分配一些不同的消费者组id

卡夫卡代理不会将消费者组名称分配给与其连接的消费者。 当消费者连接、订阅某个主题时,它就加入了一个组。 如果您在使用Spark应用程序时未指定任何使用者组,则这意味着您用于从Spark应用程序连接到Kafka的库/框架在某种程度上正在分配使用者组名称本身

由于我在应用程序中没有提到任何消费者组id,我假设Kafka正在为每个应用程序分配一些不同的消费者组id

卡夫卡代理不会将消费者组名称分配给与其连接的消费者。 当消费者连接、订阅某个主题时,它就加入了一个组。
如果您在使用Spark应用程序时未指定任何使用者组,这意味着您用于从Spark应用程序连接到Kafka的库/框架在某种程度上正在分配使用者组名称本身。

如果您转到Spark代码,您可以找到KafkaSourceProvider类,该类负责Kafka源代码读取器,您可以看到生成了random group.id:

私有[kafka010]类KafkaSourceProvider扩展了DataSourceRegister 覆盖def createSource sqlContext:sqlContext, metadataPath:String, 架构:选项[StructType], providerName:String, 参数:映射[字符串,字符串]:源={ ValidateStreamOptions参数 //每个正在运行的查询都应该使用自己的组id。否则,只能分配查询 //部分数据,因为Kafka会将分区分配给具有相同组的多个使用者 //因此,我们应该为每个查询生成一个唯一的id。 val uniqueGroupId=sspark kafka source-${UUID.randomUUID}-${metadataPath.hashCode} ... } 您可以使用spark kafka源前缀搜索group.id,但找不到特定组的group.id

要查找所有消费者组ID,可以使用以下命令: ./kafka-consumer-groups.sh-引导服务器KAFKKA_地址-列表

要检查用户组偏移,可以使用以下命令:
./kafka-consumer-groups.sh-引导服务器kafka_ADDRESS-group=group_ID-description

如果您转到Spark code,您可以找到负责kafka源代码读取器的KafkaSourceProvider类,您可以看到生成了random group.ID:

私有[kafka010]类KafkaSourceProvider扩展了DataSourceRegister 覆盖def createSource sqlContext:sqlContext, metadataPath:String, 架构:选项[StructType], providerName:String, 参数:映射[字符串,字符串]:源={ ValidateStreamOptions参数 //每个正在运行的查询都应该使用自己的组id。否则,只能分配查询 //部分数据,因为Kafka会将分区分配给具有相同组的多个使用者 //因此,我们应该为每个查询生成一个唯一的id。 val uniqueGroupId=sspark kafka source-${UUID.randomUUID}-${metadataPath.hashCode} ... } 您可以使用spark kafka源前缀搜索group.id,但找不到特定组的group.id

要查找所有消费者组ID,可以使用以下命令: ./kafka-consumer-groups.sh-引导服务器KAFKKA_地址-列表

要检查用户组偏移,可以使用以下命令: ./kafka-consumer-groups.sh-引导服务器KAFKKA_地址-组=组ID-描述