blob: e7ff738cbf2e40214800b926abfa33451f59f288 [file] [log] [blame]
** Please note that the following commands should be executed
after downloading the kafka source code to build all the
required binaries:
1. <kafka install dir>/ $ ./sbt update
2. <kafka install dir>/ $ ./sbt package
Now you are ready to follow the steps below.
This script performs broker failure tests in an environment with
Mirrored Source & Target clusters in a single machine:
1. Start a cluster of Kafka source brokers
2. Start a cluster of Kafka target brokers
3. Start one or more Mirror Maker to create mirroring between
source and target clusters
4. A producer produces batches of messages to the SOURCE brokers
in the background
5. The Kafka SOURCE, TARGET brokers and Mirror Maker will be
terminated in a round-robin fashion and wait for the consumer
to catch up.
6. Repeat step 5 as many times as specified in the script
7. An independent ConsoleConsumer in publish/subcribe mode to
consume messages from the SOURCE brokers cluster
8. An independent ConsoleConsumer in publish/subcribe mode to
consume messages from the TARGET brokers cluster
Expected results:
==================
There should not be any discrepancies by comparing the unique
message checksums from the source ConsoleConsumer and the
target ConsoleConsumer.
Notes:
==================
The number of Kafka SOURCE brokers can be increased as follows:
1. Update the value of $num_kafka_source_server in this script
2. Make sure that there are corresponding number of prop files:
$base_dir/config/server_source{1..4}.properties
The number of Kafka TARGET brokers can be increased as follows:
1. Update the value of $num_kafka_target_server in this script
2. Make sure that there are corresponding number of prop files:
$base_dir/config/server_target{1..3}.properties
Quick Start:
==================
In the directory <kafka home>/system_test/broker_failure,
execute this script as following:
$ bin/run-test.sh -n <num of iterations> -s <servers to bounce>
num of iterations - the number of iterations that the test runs
servers to bounce - the servers to be bounced in a round-robin fashion.
Values to be entered:
1 - source broker
2 - mirror maker
3 - target broker
Example:
* To bounce only mirror maker and target broker
in turns, enter the value 23.
* To bounce only mirror maker, enter the value 2.
* To run the test without bouncing, enter 0.
At the end of the test, the received messages checksums in both
SOURCE & TARGET will be compared. If all checksums are matched,
the test is PASSED. Otherwise, the test is FAILED.
In the event of failure, by default the brokers and zookeepers
remain running to make it easier to debug the issue - hit Ctrl-C
to shut them down.