我有一个由5个代理和4个镜像器组成的kafka集群来镜像来自2个不同数据中心的数据。我知道kafka代理需要自己的专用硬件,特别是因为磁盘i/o、内存使用率和cpu密集型应用程序都很高。
我想知道在甚至是kafka代理的节点上部署mirror maker进程是否有意义,或者我是否应该考虑让mirror maker在:
专用节点
托管zookeeper服务器的节点
hdfs和其他cloudera服务部署在不同的节点上。
谢谢你,贝尼亚米诺
我有一个由5个代理和4个镜像器组成的kafka集群来镜像来自2个不同数据中心的数据。我知道kafka代理需要自己的专用硬件,特别是因为磁盘i/o、内存使用率和cpu密集型应用程序都很高。
我想知道在甚至是kafka代理的节点上部署mirror maker进程是否有意义,或者我是否应该考虑让mirror maker在:
专用节点
托管zookeeper服务器的节点
hdfs和其他cloudera服务部署在不同的节点上。
谢谢你,贝尼亚米诺
1条答案
按热度按时间q8l4jmvw1#
mirrormaker只是一对普通的java生产者/消费者。
如果您编写了一个从远程数据中心读取数据的应用程序,那么在自己的硬件上运行它有意义吗?你有这样做的资源吗?我个人不会在经纪人或Zookeeper身上运行它。
如果您运行的数据中心中有docker或kubernetes可用,则可以将所有镜像示例部署到它们自己的容器中。或者可以使用regex白名单模式在一个jvm中运行所有主题。
无论您选择如何部署,建议让mirrormaker的消费过程位于远程数据中心,将数据拉到本地集群并进行生产。
合流有关于这个主题的讨论
编辑:从kafka 2.4开始,mirrormaker2构建在kafka connect框架上,是未来推荐的部署