We typically run all of our Zookeeper instances separate, but we do have one Kafka cluster that is colocated with the Zookeeper nodes. It works just fine, probably in part because Zookeeper handles everything serially. The caveat is that the cluster that we¹re doing this on is not designed for performance, but rather compactness. And we¹re getting rid of it because we don¹t like the setup.
Keep in mind that you¹re colocating two applications that are sensitive to disk I/O. This is going to affect performance of both systems and you really need to decide if that¹s what you want. If you have enough spindles to keep everything separate (Kafka data storage and Zookeeper transaction logs on separate spindles from everything else) you might be OK. -Todd On 4/24/14, 8:53 AM, "Andrew Otto" <ao...@wikimedia.org> wrote: >Oo, I¹m curious about this as well! Wikimedia is considering doing this >if/when we install brokers in our web caching data centers. > > >On Apr 24, 2014, at 11:49 AM, Sudarshan Kadambi (BLOOMBERG/ 731 LEXIN) ><skada...@bloomberg.net> wrote: > >> Are there any thoughts on running Zookeeper on the same physical nodes >>that run the Kafka broker? So the loss of a node affects quorum and >>possibly requires electing new leaders at both the ZK and the broker >>level. Are there race conditions or other failure cases that could come >>about from either a co-located (or, an independent) setup? Thanks. >> >> -sudarshan >> >> >>------------------------------------------------------------------------- >>------ >