-
3 Zookeeper Cluster con prometheus JMX exporter
-
3 Apache Kafka broker con prometheus JMX exporter
-
1 Apache Kafka Manager Dashboard
-
1 Prometheus Server
-
1 Grafana Server
-
1 Apache Kafka Metrics Exporter
oc new-app -f apache-kafka-openshift-template.yaml \
-p NAMESPACE=${PROJECT_NAME} \
-n ${PROJECT_NAME}
oc scale statefulset kafka --replicas=${NUMBER_REPLICAS}
-
Escalar las instancias de Zookeeper requiere de varios pasos adicionales.
-
Zookeeper utiliza el algoritmo Raft (N/2)+1) por lo que es necesaria como minimo 3 instancias de Zookeper para mantener el Cluster operativo.
-
Para escalar a más instancias es necesario reiniciar el cluster de Kafka y Zookeeper de forma completa.
1 Editar configmap
oc edit configmap zookeeper
2 Agregar nueva linea indicando el o los servidor en el archivo "zoo.cfg"
zoo.cfg: |-
tickTime=2000
dataDir=/opt/zookeeper-data
clientPort=2181
initLimit=5
syncLimit=2
server.1=zookeeper-0.zookeeper.${NAMESPACE}.svc.cluster.local:2888:3888
server.2=zookeeper-1.zookeeper.${NAMESPACE}.svc.cluster.local:2888:3888
server.3=zookeeper-2.zookeeper.${NAMESPACE}.svc.cluster.local:2888:3888
server.4=zookeeper-3.zookeeper.${NAMESPACE}.svc.cluster.local:2888:3888 # NUEVA LINEA
server.5=zookeeper-4.zookeeper.${NAMESPACE}.svc.cluster.local:2888:3888 # NUEVA LINEA
autopurge.snapRetainCount=3
autopurge.purgeInterval=24
3 Editar Kafka Statefulset
oc edit statefulset kafka
- Edite la linea zookeeper.connect y agregue las nuevas instancias:
--override zookeeper.connect=zookeeper-0.zookeeper.$NAMESPACE.svc.cluster.local:2181,zookeeper-1.zookeeper.$NAMESPACE.svc.cluster.local:2181,zookeeper-2.zookeeper.$NAMESPACE.svc.cluster.local:2181,zookeeper-3.zookeeper.$NAMESPACE.svc.cluster.local:2181,zookeeper-4.zookeeper.$NAMESPACE.svc.cluster.local:2181
4 Ejecutar
oc scale statefulset kafka --replicas=0
oc scale statefulset zookeeper --replicas=0
5 Ejecutar
oc scale statefulset kafka --replicas=${NUMBER_REPLICAS}
oc scale statefulset zookeeper --replicas=5