我最近开始使用 hadoop,我正在尝试将它与 giraph 一起使用(因为我需要它来处理巨大的图表)。所以,为了构建 giraph(1.1.0,最新的稳定版本),我选择了 hadoop 的 2.4.0 版本(根据这个链接,它是 Amazon EMR 支持的最新版本)。我仍在进行本地测试,我什至还没有接近在 AWS 中进行全面部署,但我正在努力实现这一目标(在 Amazon EMR 中编程)。
但是,当我使用 Maven 构建 giraph 时(我避免使用 YARN 配置文件),我遇到了在这个错误中检测到的问题(HADOOP-10547)。所以,我不知道从这里选择哪个是最好的选择,我希望有人可以在这里帮助我:
- 选择 2.2 版本并尝试使用它构建 giraph(它是 2.4 之前的最高级版本,可用)。这个选项的缺点是我刚刚开始,我想使用最新的 hadoop 可用版本。
- 下载hadoop 2.4的源码,自己修复HADOOP-10547(因为AWS的hadoop 2.4版本好像没有这个修复),构建,之后尝试重新构建giraph。我只是自己构建hadoop,为了修复那个bug,我没有计划在那之后继续修改它。此选项的缺点是,我不确定是否可以在 AWS 部署中再次执行此操作(可能使用引导操作?)
也许我没有考虑在 Amazon EMR 中使用 hadoop 2.4.0 和 giraph 1.1.0 的顺序。