Skip to content

Commit 1d52996

Browse files
committed
Improve README, minor config changes
1 parent 7cf81da commit 1d52996

File tree

3 files changed

+25
-5
lines changed

3 files changed

+25
-5
lines changed

cruise-control/11cruise-control-config.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -352,8 +352,7 @@ data:
352352
353353
clusterConfigs.json: |-
354354
{
355-
"min.insync.replicas": 2,
356-
"an.example.cluster.config": false
355+
"min.insync.replicas": 2
357356
}
358357
359358
log4j2.xml: |-

cruise-control/20kafka-broker-reporter-patch.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# meant to be applied using
2-
# kubectl --namespace kafka patch statefulset kafka --patch "$(cat cruise-control/20kafka-broker-reporter-patch.yml )"
2+
# kubectl --namespace kafka patch statefulset kafka --patch "$(cat cruise-control/20kafka-broker-reporter-patch.yml)"
33
metadata:
44
name: kafka
55
namespace: kafka

cruise-control/README.md

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
11
## Cruise Control
22

3-
Cruise Control is used to automate the dynamic workload rebalance and self-healing of a Kafka cluster. This tool will allow you to add, replace or remove nodes and the cluster will be automatically adjusted. Partitions will be rebalanced based on resource usage.
3+
Cruise Control is used to automate the dynamic workload rebalance and self-healing of a Kafka cluster. This tool will allow you to add, replace or remove nodes and the cluster will be automatically adjusted. Partitions will be rebalanced based on resource usage of CPU, network, disk, etc.
44

5-
The default configuration has self healing enabled.
5+
*Disclaimer*: It is important to understand Cruise Control will modify the Kafka cluster without operator intervention. Bugs or misconfiguration may cause loss of data or denial of service. You bear the responsibility of configuring and testing properly and taking precautions based on the importance of your data.
6+
7+
### Configuration
8+
9+
There are several configuration files that need to be mounted in `/opt/cruise-control/config`. The files in `11cruise-control-config.yml` are the defaults from [the Cruise Control GitHub repo, migrate_to_kafka_2_0 branch](https://github.com/linkedin/cruise-control/tree/migrate_to_kafka_2_0/config). The significant modification from the GitHub repo is that self healing has been enabled using `self.healing.enabled=true`.
10+
11+
Following are the files in `11cruise-control-config.yml`. Nearly all changes you would make are in `cruisecontrol.properties`.
12+
13+
- cruisecontrol.properties
14+
- capacityJBOD.json
15+
- capacity.json
16+
- clusterConfigs.json
17+
- log4j2.xml
18+
- log4j.properties
19+
20+
### Patching
21+
22+
Cruise control requires broker metrics to make informed decisions. Each broker runs a metric collector that pushes metrics into a topic, by default named `__CruiseControlMetrics`. Configuring the collector requires patching the broker StatefulSet. An example command to apply this patch is below.
23+
24+
```shell
25+
$ kubectl --namespace kafka patch statefulset kafka --patch "$(cat cruise-control/20kafka-broker-reporter-patch.yml)"
26+
```

0 commit comments

Comments
 (0)