当前位置: 首页 > 面试题库 >

为什么我们在Hadoop堆栈中需要ZooKeeper?

楚流觞
2023-03-14
问题内容

我是Hadoop /
ZooKeeper的新手。我不明白将ZooKeeper与Hadoop结合使用的目的,ZooKeeper是否在Hadoop中写入数据?如果不是,那么为什么我们将ZooKeeper与Hadoop一起使用?


问题答案:

Hadoop 1.x不使用Zookeeper。即使在Hadoop 1.x安装中,HBase也会使用zookeeper。

Hadoop从2.0版开始也采用了Zookeeper。

Zookeeper的目的是集群管理。这符合* nix使用较小的专用组件的一般哲学-因此,想要集群功能的Hadoop组件依赖Zookeeper而不是自己开发。

Zookeeper是一种分布式存储,可提供以下保证(从Zookeeper概述页面复制):

  • 顺序一致性-来自客户端的更新将按照发送的顺序应用。
  • 原子性-更新成功或失败。没有部分结果。
  • 单个系统映像-无论客户端连接到哪个服务器,客户端都将看到相同的服务视图。
  • 可靠性-应用更新后,此更新将一直持续到客户端覆盖更新为止。
  • 及时性-确保系统的客户视图在特定时间范围内是最新的。

您可以使用它们来实现集群管理所需的不同“ 配方
”,例如锁,领导者选举等。

如果您打算自己使用ZooKeeper,我建议您看一下
Netflix的Curator,它更易于使用(例如,他们开箱即用地实现了一些食谱)



 类似资料:
  • 问题内容: 我将稍微解释一下我的脚本,以便您可以理解我的问题。 基本上我做了一个脚本来检查SOCKS5是还是。 当我在上面测试我的脚本时,它运行良好,但是当我在Windows上对其进行测试时,直到我将以下行添加到: 谁能向我解释为什么我在Windows中需要此行,而在Linux服务器上却不需要? 问题答案: SSL证书上的此cURL手册页介绍了连接到SSL / TLS受保护主机时 证书验证 的过程

  • 我需要一个数据结构用于我的用例。我应该能够将项目推入数据结构,并且我只想从堆栈中检索最后一个项目。JavaDoc for Stack表示:

  • 问题内容: Angular应用使用属性而不是事件。 为什么是这样? 问题答案: ng-click包含一个角度表达式。Angular表达式是在Angular 范围的上下文中求值的,该范围绑定到具有ng- click属性的元素或该元素的祖先。 Angular表达式语言不包含流控制语句,也不能声明变量或定义函数。这些限制意味着模板只能访问由控制器或指令提供的变量和运行功能。

  • 以我的拙见,关于“什么是单子”这个著名问题的答案,尤其是投票最多的答案,试图解释什么是单子,而没有明确解释为什么单子是真正必要的。它们能被解释为一个问题的解决方案吗?

  • 为什么我们需要字典? 计算机最适合使用数字,而人类最适合使用姓名。我们创建了DNS以便记住主机名而不是IP地址。字典以相同的方式使用,因此我们可以记住AVP名称而不是类型编号。当FreeRADIUS解析请求或生成响应时,会查阅字典。 但是,字典与DNS不同,因为RADIUS客户端不知道FreeRADIUS使用的这些“友好”名称。永远不会在RADIUS客户端和RADIUS服务器之间交换AVP名称。

  • 问题内容: 我不知道为什么我们需要在报表。我认为,此代码块 使用以下命令与此相同: 我想念什么吗? 问题答案: 如果您提早返回,将会有所不同: 比较一下: 可能导致差异的其他情况: 如果在except块内引发异常。 如果引发异常,但不是。 其他控制流语句,例如和语句。