0

我是 Hadoop 新手,在 AWS Elastic Mapreduce 下运行。

我需要 Hadoop 中的集群范围的原子计数器,并建议为此使用 zookeeper。

我相信 zookeeper 是 Hadoop 堆栈的一部分(对吗?),我如何从 Elastic Mapreduce 作业访问它以设置和更新集群范围的计数器?

4

2 回答 2

0

我相信 zookeeper 是 Hadoop 堆栈的一部分(对吗?)

ZooKeeper (ZK) 不是 Hadoop 堆栈的一部分。它是 Apache 下的顶级项目 (TLP),独立于 Hadoop。因此,首先必须在 EC2 上安装 ZK。以下是相同的说明

我将如何从 Elastic Mapreduce 作业中访问它以设置和更新集群范围的计数器?

安装后,ZK 可用于使用 ZK API 生成集群范围的计数器。这里(12)讨论了该方法的优缺点。以下是针对相同要求的 ZK 的其他一些替代方案。

于 2012-10-27T08:08:49.540 回答
0

你可以,正如 Praveen Sripati 回答的那样。但我不想澄清一些观点:

  1. 请记住,zk 的写入速率有限(每秒约 300 个请求)
  2. 客户端可以看到陈旧的数据(zk 不保证副本之间的读取一致性)。

我建议使用专用的序列生成器服务器,它会为你生成序列(并且该服务可以使用 Zk 或任何它想要的)。此类服务的一个示例:https ://github.com/kasabi/H1

于 2012-10-27T22:55:39.960 回答