【发布时间】:2015-07-02 16:47:44
【问题描述】:
我的问题是: 如何将 ZooKeeper 与 Hadoop 一起使用,以便所有 reducer 都可以 getData() / setData() 到一个共享 znode?p>
我的用例是我需要在 MapReduce 作业中的 reducer 之间共享一个全局读/写变量。我正在尝试为此目的使用 ZooKeeper。 我创建了一个 ZooKeeper 对象,该对象创建了一个 znode 并给它一个初始值。下一步是我需要所有reducer 能够为这个znode 获取getData() / setData()。这需要将 ZooKeeper 对象传递给所有 reducer,我不知道该怎么做。我尝试序列化 ZooKeeper 对象并将其传递给 reducer(通过配置属性或通过分布式缓存),但 ZooKeeper 类不可序列化。
ZooKeeper 教程和我能找到的所有示例都说明了 ZooKeeper 与多线程应用程序,但没有一个显示如何将 ZooKeeper 与映射器或减速器一起使用。
【问题讨论】:
-
这不是一个答案,但可能是一个有用的链接zookeeper.apache.org/doc/r3.1.2/…
-
非常感谢 Arun 的帮助,我之前已经遇到过这个例子。 harpun 的回答纠正了我的一个误解并解决了我的问题
标签: hadoop mapreduce apache-zookeeper