THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
=== DESCRIBE FEATURES === # Get cluster-wide finalized features, and features supported by a specific broker. # - Use `--bootstrap-server` to provide a broker host:port to which queries should be issued. # - Optionally, provide `--from-controller` flag directing the tool to issue the query to the # controller (while discovering the controller via the bootstrap server). # This can be useful for debugging purposes. $> kafka-features.sh --describe \ --bootstrap-server kafka-broker0.prn1:9071 \ [--from-controller] { "status": "OK", "supported_features": { "group_coordinator": { Feature: consumer_offsets_topic_schema SupportedMinVersion: 1 SupportedMaxVersion: 1 FinalizedMinVersionLevel: - "min_version"FinalizedMaxVersionLevel: 1, - Epoch: 1 Feature: group_coordinator SupportedMinVersion: 1 "max_version"SupportedMaxVersion: 2 FinalizedMinVersionLevel: 1 }, FinalizedMaxVersionLevel: 1 Epoch: 1 Feature: "transaction_coordinator": { SupportedMinVersion: 1 SupportedMaxVersion: 5 "min_version"FinalizedMinVersionLevel: 1, "max_version"FinalizedMaxVersionLevel: 5 4 Epoch: 1 === UPGRADE }, TO ALL LATEST FEATURES === # Upgrade to "consumer_offsets_topic_schema": { "min_version": 1, "max_version": 1 } }, "finalized_features": { "epoch": 0, "group_coordinator": { "min_version_level": 1, "max_version_level": 1 }, "transaction_coordinator": { "min_version_level": 1, "max_version_level": 4 } }, "host": "kafka-broker0.prn1", "port": 9071 } === UPGRADE TO ALL LATEST FEATURES === # Upgrade to the max version levels of all features, as internally known to the CLI tool. # # This command removes the burden to individually finalize feature upgrades. # This becomes handy to a cluster operator intending to finalize a cluster with all the latest # available feature version levels. This usually happens after completing the deployment # of a newer Kafka Broker release onto an existing cluster. $> kafka-features.sh finalize-all \ --bootstrap-server kafka-broker0.prn1:9071 { "status": "OK", "supported_features": { "group_coordinator": { "min_version": 1, "max_version": 3 }, "transaction_coordinator": { "min_version": 1, "max_version": 6 }, "consumer_offsets_topic_schema": { "min_version": 1, "max_version": 3 } }, "finalized_features": { "epoch": 3, "group_coordinator": { "min_version_level": 1, "max_version_level": 3 }, "transaction_coordinator": { "min_version_level": 1, "max_version_level": 6 }, "consumer_offsets_topic_schema": { "min_version_level": 1, "max_version_level": 3 } }, "host": "kafka-broker0.prn1", "port": 9071 } === EMERGENCY DOWNGRADE ALL FEATURES === # Downgrade to the max version levels of all features known to the CLI tool. # # This command removes the burden to individually finalize feature version # downgrades. This becomes handy to a cluster operator intending to downgrade all # feature version levels, just prior to rolling back a Kafka Broker deployment # on a cluster, to a previous Broker release. $> kafka-features.sh downgrade-all \ --bootstrap-server kafka-broker0.prn1:9071 { "status": "OK", "supported_features": { "group_coordinator": { "min_version": 1, "max_version": 3 }, "transaction_coordinator": { "min_version": 1, "max_version": 6 }, "consumer_offsets_topic_schema": { "min_version": 1, "max_version": 3 } }, "finalized_features": { "epoch": 3, "group_coordinator": { "min_version_level": 1, "max_version_level": 3 }, "transaction_coordinator": { "min_version_level": 1, "max_version_level": 6 }, "consumer_offsets_topic_schema": { "min_version_level": 1, "max_version_level": 3 } }, "host": "kafka-broker0.prn1", "port": 9071 } |
Advanced CLI tool usage
...
the max version levels of all features, as internally known to the CLI tool.
#
# - This command removes the burden to individually finalize feature upgrades.
# This becomes handy to a cluster operator intending to finalize a cluster with all the latest
# available feature version levels. This usually happens after completing the deployment
# of a newer Kafka Broker release onto an existing cluster.
# - Use `--bootstrap-server` to provide a broker host:port to which queries should be issued.
# - Optionally, use the `--dry-run` flag to list the feature updates without applying them.
$> kafka-features.sh \
--upgrade-all \
--bootstrap-server kafka-broker0.prn1:9071 \
[--dry-run]
[Add] Feature: consumer_offsets_topic_schema ExistingFinalizedMaxVersion: - NewFinalizedMaxVersion: 1 Result: OK
[Upgrade] Feature: group_coordinator ExistingFinalizedMaxVersion: 1 NewFinalizedMaxVersion: 2 Result: OK
[Upgrade] Feature: transaction_coordinator ExistingFinalizedMaxVersion: 4 NewFinalizedMaxVersion: 5 Result: OK
=== EMERGENCY DOWNGRADE ALL FEATURES ===
# Downgrade to the max version levels of all features known to the CLI tool.
#
# - This command removes the burden to individually finalize feature version
# downgrades. This becomes handy to a cluster operator intending to downgrade all
# feature version levels, just prior to rolling back a Kafka Broker deployment
# on a cluster, to a previous Broker release.
# - Optionally, use the `--dry-run` flag to list the feature updates without applying them.
$> kafka-features.sh \
--downgrade-all \
--bootstrap-server kafka-broker0.prn1:9071 \
[--dry-run]
[Delete] Feature: consumer_offsets_topic_schema ExistingFinalizedMaxVersion: 1 NewFinalizedMaxVersion: - Result: OK
[Downgrade] Feature: group_coordinator ExistingFinalizedMaxVersion: 2 NewFinalizedMaxVersion: 1 Result: OK
[Downgrade] Feature: transaction_coordinator ExistingFinalizedMaxVersion: 5 NewFinalizedMaxVersion: 4 Result: OK |
Advanced CLI tool usage
Following are examples of advanced usage of the CLI tool. Going beyond regular usage, advanced usage involves adding/upgrading/downgrading/deleting specific cluster-wide finalized feature versions.
Code Block |
---|
=== ADD OR UPGRADE OR DOWNGRADE OR DELETE FEATURES ===
# Add or update a list of cluster-wide finalized features.
# - Use `--bootstrap-server` to provide a broker host:port to which the queries should be issued.
# - Optionally, use `--upgrade` to provide a comma-separated list of features and new finalized max version to add or upgrade.
# - Optionally, use `--downgrade` to provide a comma-separated list of features and new finalized max version to downgrade to. This should be used only when required.
# - Optionally, use `--delete` to provide a comma-separated list of finalized features to be deleted.
# - Optionally, use the `--dry-run` flag to list the feature updates without applying them.
$> kafka-features.sh update \
--bootstrap-server kafka-broker0.prn1:9071 \
--upgrade group_coordinator:2,consumer_offsets_topic_schema:1 \
--downgrade transaction_coordinator:3 \
--delete replication_throttling \
[--dry-run]
[Add] Feature: consumer_offsets_topic_schema ExistingFinalizedMaxVersion: - NewFinalizedMaxVersion: 1 Result: OK
[Upgrade] Feature: group_coordinator ExistingFinalizedMaxVersion: 1 NewFinalizedMaxVersion: 2 Result: OK
[Downgrade] Feature: transaction_coordinator ExistingFinalizedMaxVersion: 4 NewFinalizedMaxVersion: 3 Result: OK
[Delete] Feature: replication_throttling ExistingFinalizedMaxVersion: 2 NewFinalizedMaxVersion: - Result: OK |
Code Block |
=== ADD_OR_UPDATE FEATURES ===
# Add or update a list of cluster-wide finalized features.
# - Use `--bootstrap-server` to provide a broker host:port to which MetadataRequest query should be issued.
# The MetadataResponse will be used to discover the Controller, to which the actual ADD_OR_UPDATE request is issued.
# - Use `--upgrade` to provide a comma-separated list of features and new finalized max version to ADD_OR_UPDATE.
# - Use `--allow-downgrade` to allow a downgrade for feature version levels. This should be used only when required.
$> kafka-features.sh update \
--bootstrap-server kafka-broker0.prn1:9071 \
--upgrade group_coordinator:2,consumer_offsets_topic_schema:1 \
--allow-downgrade transaction_coordinator:3 \
Please confirm before downgrading the following features:
1.transaction_coordinator from v4 (existing) to v3 (new)
[Y/n]? Y
{
"status": "OK",
"supported_features": {
"group_coordinator": {
"min_version": 1,
"max_version": 2
},
"transaction_coordinator": {
"min_version": 1,
"max_version": 5
},
"consumer_offsets_topic_schema": {
"min_version": 1,
"max_version": 1
}
},
"finalized_features": {
"epoch": 1,
"group_coordinator": {
"min_version_level": 1,
"max_version_level": 2
},
"transaction_coordinator": {
"min_version_level": 1,
"max_version_level": 3
},
"consumer_offsets_topic_schema": {
"min_version_level": 1,
"max_version_level": 1
}
},
"host": "kafka-broker0.prn1",
"port": 9071
}
=== DELETE FEATURES ===
# Delete a list of cluster-wide finalized features.
# - Use `--bootstrap-server` to provide a broker host:port to which MetadataRequest query should be issued.
# The MetadataResponse will be used to discover the Controller, to which the actual delete request is issued.
# - Use `--features` to provide a comma-separated list of finalized features to be deleted.
$> kafka-features.sh delete \
--bootstrap-server kafka-broker0.prn1:9071 \
--features group_coordinator,transaction_coordinator
Please confirm deletion of the following finalized features:
1. group_coordinator
2. transaction_coordinator
[Y/n] Y
{
"status": "OK",
"supported_features": {
"group_coordinator": {
"min_version": 1,
"max_version": 2
},
"transaction_coordinator": {
"min_version": 1,
"max_version": 5
},
"consumer_offsets_topic_schema": {
"min_version": 1,
"max_version": 1
}
},
"finalized_features": {
"epoch": 2,
"consumer_offsets_topic_schema": {
"min_version_level": 1,
"max_version_level": 1
}
},
"host": "kafka-broker0.prn1",
"port": 9071
} |
New or changed public interfaces
...