Usage
Groups
Prerequisites
- You have setup the correct access control permissions in Kpow to allow
GROUP_EDIT
. See: User authorization. - You have setup the correct Kafka ACLs if you have enabled ACLs in your Kafka cluster. See: Minimum ACL permissions.
Managing Offsets
Overview
Within Kpow you can change consumer group offsets from any dimension:
- Whole group assignments
- Host-level assignments
- Topic-level assignments
- Partition-level assignment
Offsets can be reset in multiple ways:
- By offset value
- To the earliest offset
- By time
- By skipping an offset (eg, incrementing the current offset)
Offset actions
Group offset management can be found in the navigation menu under the Consumers/Workflows section.
Select the consumer group you would like to manage from the dropdown, and you will see the consumer group topology.
All offset management actions are available when clicking on a node:
Once you have selected a node, the available group offset actions can be found under the Mutations section on the right-hand pane.
Scheduling a mutation
All group offset actions are scheduled, and will be invoked once all prerequisites have been met. For group offsets, the prerequisite is that the consumer group's state must be EMPTY. That is, you will have to manually scale down all instances of the consumer group to alter their offsets. This is because group actions cannot be performed on a running consumer group.
By default, Kpow will try to run the mutation for up to 15 minutes after it has been scheduled. You can cancel the mutation or view its current status by clicking on the Consumers/Mutations tab.
Removing Consumer Group Members
If you have a static consumer group (a consumer group with group.instance.id
set) you can use Kpow to remove a member from the group. This is can be useful as static consumer groups do not send a leave group request when they go offline, and instead rely on session.timeout
to trigger a group rebalance.
When removing a member from a static consumer group it will have the effect of triggering a rebalance. This can be useful if you want to speed up the rebalancing process and don't wish to wait for the session.timeout
value.
To remove a member from a consumer group navigate to the member in the consumer topology or table and click the "Remove Member" action. Removing members from a consumer group requires the GROUP_DELETE
RBAC action.