java - Kafka集群zookeeper故障处理

我要实现一个由 3 台机器组成的 kafka 集群,一台用于 zookeeper,另外 2 台作为代理。我有大约 6 台消费者机器和大约 100 台生产者。

现在,如果其中一个代理失败,由于复制功能,可以避免数据丢失。但是如果zo​​okeeper出现故障,同一台机器无法启动怎么办?我有几个问题:

  1. 我注意到,即使在 zookeeper 失败后,生产者仍继续在指定代理中推送消息。但消费者再也无法取回它们。因为消费者未注册。那么在这种情况下,数据会永久丢失吗?
  2. 如何在运行时更改代理配置中的 zookeeper ip?是否必须关闭它们才能更改 zookeeper ip?
  3. 即使之前以某种方式将新的 zookeeper 机器带入集群,之前的数据是否会丢失?

最佳答案

只运行 Zookeeper 的一个实例是不能容错的,行为无法预测。根据HBase reference ,您应该设置一个至少包含 3 台服务器的集成。

查看官方文档页面:Zookeeper clustered setup .

https://stackoverflow.com/questions/33346938/

相关文章:

git - 我们可以将 git-annex 添加到 GitLab CE 吗?

r - Shiny 应用程序的初始加载没有更新

python - 没有名为 csv 的模块

python - 使用 pyresample 绘制卫星 strip 数据

javascript - three.js 边缘和文本在旋转时呈锯齿状/模糊

python - 我们如何使用 SQL-esque "LIKE"标准连接两个 Spark SQL 数

Java - 系统进程监听器

javascript - 当鼠标进入非事件浏览器窗口时触发一次 mousemove (Chrome)

java - Android,如何在运行时设置导航 View 组可见性?

android - 哪个平台支持BLE数据包长度扩展功能?