简体   繁体   中英

Best Practices for Kafka Cluster Deployment Configuration?

I'm asking for general best practices here:

If I want a five node cluster, do all five nodes run the Confluent Platform Umbrella Packages that include Zookeeper, Kafka, schema-registry?

Is it ever recommended to run the zookeper cluster on separate servers from the Kafka cluster?

If I want to run the Kafka Connect distributed worker, do I run that on all cluster nodes? Do I ever want to run on separate servers? Is Docker recommended for this or is Docker unnecessary?

With Kafka Streaming apps, should they be run on all cluster nodes? Should they be dockerized? Should they ever run on separate nodes?

Is something like Mesos recommended?

It is a best practice to run Kafka Brokers on dedicated servers (or virtual servers). The same is true of Zookeeper.

All the other components of the Confluent Platform can run colocated on common servers or on separate machines.

You would typically run only one Schema Registry (or two if you want fault tolerance). They can run on any machine that can connect back to the Kafka Brokers.

Kafka Connect distributed workers only need to run on machines that you want to host Kafka Connectors. They just need to be able to connect back to the Kafka Brokers.

Kafka Streams apps can run anywhere you want so long as they can connect back to the Kafka Brokers.

All components can run inside docker containers or without docker.

You can use whatever microservices or data center resource management tools you want (or none at all) - it is your choice.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM